Linux 5.5 was recently released, as usual bringing a large number of new features and improvements, which are nicely detailed in the LWN articles on merge window part 1 and merge window part 2, but also on the Kernelnewbies wiki.
According to the statistics, a total of 14350 changes were made to this kernel release, to which Bootlin contributed 124 patches, making us the 19th contributing company by number of commits. Here are the highlights of our contributions:
- By far and large our most important achievement in Linux 5.5 is the merge of the H265 decoding support in the Allwinner VPU driver, developed by Paul Kocialkowski. This was the last missing feature to complete the effort funded by the Kickstarter campaign we launched in February 2018. See our blog post wrapping up the Allwinner VPU work.
- Alexandre Belloni as the RTC subsystem maintainer, as usual contributed a large number of RTC driver improvements and fixes.
- Antoine Ténart contributed some improvements to the Cadence MACB driver, most notably used as the Ethernet controller driver on Microchip/Atmel platforms. The main improvement is the conversion to the phylink subsystem for the interaction with the Ethernet PHY.
- Grégory Clement contributed numerous enhancements to the Microchip/Atmel SPI controller driver, mainly aimed at fixing and improving the support for Chip Select, both native Chip Selects and GPIO-based Chip Selects.
- Kamel Bouhara contributed a few additional Device Tree files to describe home automation hardware platforms from Overkiz, based on the Microchip SAMA5D2 processor, as well as an improvement to a Microchip SoC driver that allows to expose the platform serial number to user-space.
- Miquèl Raynal added support for a new Marvell system-on-chip called Marvell CN9130. Despite the name, this chip is from a hardware point of view in the same family as the Marvell Armada 7K and 8K, which were already supported upstream.
- Miquèl Raynal contributed a number of fixes and improvements to the Macronix SPI controller driver.
- Miquèl Raynal added support for the ADC converters over SPI MAX1227, MAX1229 and MAX1231 to the existing
max1027
IIO driver in the kernel. These ADCs have a 12-bit resolution. - Miquèl Raynal improved the SPI controller driver for the Zynq system-on-chips to correctly support multiple Chip Selects.
In addition to these direct contributions, some of the Bootlin engineers are also Linux kernel maintainers and therefore review and merge patches from other contributors: Alexandre Belloni as the RTC subsystem maintainer and Microchip platform co-maintainer reviewed and merged 45 patches from other contributors, Miquèl Raynal as the MTD subsystem co-maintainer reviewed and merged 39 patches from other contributors and Grégory Clement as the Marvell platform co-maintainer reviewed and merged 29 patches from other contributors.
Here is the detail of our contributions:
- Alexandre Belloni (56):
- pinctrl: at91-pio4: implement .get_multiple and .set_multiple
- rtc: m41t80: set range
- rtc: add a timestamp for year 0
- rtc: ds1347: remove verbose messages
- rtc: ds1347: remove useless read
- rtc: ds1347: simplify getting .driver_data
- rtc: ds1347: mask ALM OUT when reading time
- rtc: ds1347: convert to devm_rtc_allocate_device
- rtc: ds1347: set range
- rtc: ds1347: properly handle oscillator failures
- rtc: ds1347: use regmap_update_bits
- rtc: ds1347: handle century register
- ARM: configs: at91: unselect PIT
- rtc: meson-vrtc: move config option to proper location
- dt-bindings: net: lpc-eth: document optional properties
- net: lpc_eth: parse phy nodes from device tree
- rtc: s35390a: convert to devm_rtc_allocate_device
- rtc: s35390a: set range
- rtc: add timestamp for end of 2199
- rtc: vt8500: remove useless label
- rtc: vt8500: remove superfluous error message
- rtc: vt8500: convert to devm_rtc_allocate_device
- rtc: vt8500: let the core handle rtc range
- rtc: introduce lock helpers
- rtc: ds1343: set range
- rtc: ds1343: remove dead code
- rtc: ds1343: use burst write to set time
- rtc: ds1343: use rtc_add_group
- rtc: ds1343: use regmap_update_bits for glitch filter
- rtc: ds1343: check regmap_read return value
- rtc: ds1343: remove unnecessary mutex
- rtc: ds1343: rework interrupt handling
- rtc: ds1343: cleanup .remove
- rtc: fsl-ftm-alarm: switch to ktime_get_real_seconds
- rtc: fsl-ftm-alarm: switch to rtc_time64_to_tm/rtc_tm_to_time64
- rtc: fsl-ftm-alarm: avoid struct rtc_time conversions
- rtc: disable uie before setting time and enable after
- rtc: disallow update interrupts when time is invalid
- rtc: ab-b5ze-s3: remove .remove
- rtc: lpc32xx: remove .remove
- rtc: sc27xx: remove .remove
- rtc: sirfsoc: remove .remove
- rtc: cros-ec: remove superfluous error message
- rtc: cros-ec: let the core handle rtc range
- rtc: interface: fix kerneldoc comments
- rtc: sysfs: fix hctosys_show kerneldoc
- rtc: ds1374: remove unused variable
- rtc: ds1685: remove set but unused variables
- rtc: ds1685: fix build error with make W=1
- rtc: m41t80: remove excess kerneldoc
- rtc: pm8xxx: update kerneldoc for struct pm8xxx_rtc
- rtc: tegra: remove set but unused variable
- rtc: v3020: remove set but unused variable
- clk: at91: fix possible deadlock
- ARM: dts: imx6q-dhcom: fix rtc compatible
- rtc: cmos: Revert “rtc: Fix the AltCentury value on AMD/Hygon platform”
- Antoine Tenart (4):
- Gregory CLEMENT (11):
- spi: atmel: Remove AVR32 leftover
- spi: Fix SPI_CS_HIGH setting when using native and GPIO CS
- spi: atmel: Remove and fix erroneous comments
- spi: atmel: Fix CS high support
- spi: atmel: Configure GPIO per CS instead of by controller
- spi: atmel: Remove useless private field
- spi: atmel: Remove platform data support
- spi: atmel: Improve and fix GPIO CS usage
- spi: atmel: Improve CS0 case support on AT91RM9200
- spi: Fix NULL pointer when setting SPI_CS_HIGH for GPIO CS
- pinctrl: armada-37xx: Fix irq mask access in armada_37xx_irq_set_type()
- Kamel Bouhara (7):
- ARM: dts: at91: sama5d2: add an rtc label for derived boards
- dt-bindings: Add vendor prefix for Overkiz SAS
- dt-bindings: arm: at91: Document Kizbox3 HS board binding
- ARM: dts: at91: add Overkiz KIZBOX3 board
- dt-bindings: arm: at91: Document Kizbox2-2 board binding
- ARM: dts: at91: add a dts and dtsi file for kizbox2 based boards
- soc: at91: Add Atmel SFR SN (Serial Number) support
- Maxime Ripard (1):
- Miquel Raynal (38):
- spi: mxic: Select SPI_NOR type by default
- spi: mxic: Fix DMAS_CTRL register layout
- spi: mxic: Ensure width is respected in spi-mem operations
- clk: mvebu: armada-37xx-periph: add PCIe gated clock
- clk: mvebu: armada-37xx-periph: change suspend/resume time
- dt-bindings: clk: armada3700: fix typo in SoC name
- dt-bindings: clk: armada3700: document the PCIe clock
- arm64: dts: marvell: Enumerate the first AP806 syscon
- mtd: Initialize all parameters of mtd_oob_ops
- arm64: dts: marvell: Add AP806-dual missing CPU clocks
- MAINTAINERS: Add new Marvell CN9130-based files to track
- arm64: dts: marvell: Move clocks to AP806 specific file
- dt-bindings: marvell: Convert the SoC compatibles description to YAML
- arm64: dts: marvell: Add support for AP807/AP807-quad
- arm64: dts: marvell: Fix CP110 NAND controller node multi-line comment alignment
- arm64: dts: marvell: Prepare the introduction of CP115
- arm64: dts: marvell: Drop PCIe I/O ranges from CP11x file
- arm64: dts: marvell: Externalize PCIe macros from CP11x file
- arm64: dts: marvell: Add support for CP115
- arm64: dts: marvell: Add support for Marvell CN9130 SoC support
- iio: adc: max1027: Add debugfs register read support
- iio: adc: max1027: Make it optional to use interrupts
- iio: adc: max1027: Reset the device at probe time
- iio: adc: max1027: Prepare the introduction of different resolutions
- iio: adc: max1027: Introduce 12-bit devices support
- dt-bindings: iio: adc: max1027: Mark interrupts as optional
- dt-bindings: Add 1027/1029/1031 SPI ADCs as trivial devices
- dt-bindings: Add max12xx SPI ADC series as trivial devices
- MAINTAINERS: mtd/ubi/ubifs: Remove inactive maintainers
- mtd: spear_smi: Fix Write Burst mode
- MAINTAINERS: ubi/ubifs: Update the Git repository
- spi: zynq-qspi: Keep the naming consistent across the driver
- spi: zynq-qspi: Anything else than CS0 is not supported yet
- spi: zynq-qspi: Keep the bitfields naming consistent
- spi: zynq-qspi: Enhance the Linear CFG bit definitions
- spi: zynq-qspi: Clarify the select chip function
- spi: zynq-qspi: Do the actual hardware initialization later in the probe
- spi: zynq-qspi: Support two chip selects
- Mylène Josserand (2):
- Paul Kocialkowski (5):