After 8 release candidates, Linus Torvalds released the final 4.10 Linux kernel last Sunday. A total of 13029 commits were made between 4.9 and 4.10. As usual, LWN had a very nice coverage of the major new features added during the 4.10 merge window: part 1, part 2 and part 3. The KernelNewbies Wiki has an updated page about 4.10 as well.
On the total of 13029 commits, 116 were made by Bootlin engineers, which interestingly is exactly the same number of commits we made for the 4.9 kernel release!
Our main contributions for this release have been:
- For Atmel platforms, Alexandre Belloni added support for the securam block of the SAMA5D2, which is needed to implement backup mode, a deep suspend-to-RAM state for which we will be pushing patches over the next kernel releases. Alexandre also fixed some bugs in the Atmel dmaengine and USB gadget drivers.
- For Allwinner platforms
- Antoine Ténart enabled the 1-wire controller on the CHIP platform
- Boris Brezillon fixed an issue in the NAND controller driver, that prevented from using ECC chunks of 512 bytes.
- Maxime Ripard added support for the CHIP Pro platform from NextThing, together with many addition of features to the underlying SoC, the GR8 from Nextthing.
- Maxime Ripard implemented audio capture support in the
sun4i-i2s
driver, bringing capture support to Allwinner A10 platforms. - Maxime Ripard added clock support for the Allwinner A64 to the sunxi-ng clock subsystem, and implemented numerous improvements for this subsystem.
- Maxime Ripard reworked the pin-muxing driver on Allwinner platforms to use a new generic Device Tree binding, and deprecated the old platform-specific Device Tree binding.
- Quentin Schulz added a MFD driver for the Allwinner A10/A13/A31 hardware block that provides ADC, touchscreen and thermal sensor functionality.
- For the RaspberryPi platform
- Boris Brezillon added support for the Video Encoder IP, which provides composite output. See also our recent blog post about our RaspberryPi work.
- Boris Brezillon made a number of improvements to clock support on the RaspberryPi, which were needed for the Video Encoder IP support.
- For the Marvell ARM platform
- Grégory Clement enabled networking support on the Marvell Armada 3700 SoC, a Cortex-A53 based processor.
- Grégory Clement did a large number of cleanups in the Device Tree files of Marvell platforms, fixing DTC warnings, and using node labels where possible.
- Romain Perier contributed a brand new driver for the SPI controller of the Marvell Armada 3700, and therefore enabled SPI support on this platform.
- Romain Perier extended the existing
i2c-pxa
driver to support the Marvell Armada 3700 I2C controller, and enabled I2C support on this platform. - Romain Perier extended the existing hardware number generator driver for OMAP to also be usable for SafeXcel EIP76 from Inside Secure. This allows to use this driver on the Marvell Armada 7K/8K SoC.
- Romain Perier contributed support for the Globalscale EspressoBin board, a low-cost development board based on the Marvell Armada 3700.
- Romain Perier did a number of fixes to the CESA driver, used for the cryptographic engine found on 32-bit Marvell SoCs, such as Armada 370, XP or 38x.
- Thomas Petazzoni fixed a bug in the
mvpp2
network driver, currently only used on Marvell Armada 375, but in the process of being extended to be used on Marvell Armada 7K/8K as well.
- As the maintainer of the MTD NAND subsystem, Boris Brezillon did a few cleanups in the Tango NAND controller driver, added support for the TC58NVG2S0H NAND chip, and improved the core NAND support to accommodate controllers that have some special timing requirements.
- As the maintainer of the RTC subsystem, Alexandre Belloni did a number of small cleanups and improvements, especially to the jz4740
Here is the detailed list of our commits to the 4.10 release:
- Alexandre Belloni (14)
- rtc: jz4740: make the driver buildable as a module again
- usb: gadget: udc: atmel: remove memory leak
- dmaengine: at_xdmac: don’t restore unsaved status
- rtc: fix typos in Kconfig
- rtc: jz4740: make the driver builtin only
- rtc: jz4740: remove unused EXPORT_SYMBOL
- misc: sram: add Atmel securam support
- misc: sram: document new compatible
- ARM: at91: add secumod register definitions
- Documentation: dt: atmel-at91: Document secumod bindings
- ARM: dts: at91: sama5d2: Add securam node
- ARM: dts: at91: sama5d2: Add secumod node
- ARM: dts: at91: sama5d2: use correct sckc compatible
- ARM: dts: at91: sama5d4: use proper sckc compatible
- Antoine Tenart (1)
- Boris Brezillon (15)
- clk: bcm: Fix ‘maybe-uninitialized’ warning in bcm2835_clock_choose_div_and_prate()
- drm/vc4: Document VEC DT binding
- drm/vc4: Add support for the VEC (Video Encoder) IP
- drm: Add TV connector states to drm_connector_state
- drm: Turn DRM_MODE_SUBCONNECTOR_xx definitions into an enum
- drm/vc4: Fix ->clock_select setting for the VEC encoder
- clk: bcm: Allow rate change propagation to PLLH_AUX on VEC clock
- clk: bcm: Support rate change propagation on bcm2835 clocks
- clk: bcm2835: Avoid overwriting the div info when disabling a pll_div clk
- clk: bcm2835: Fix ->fixed_divider of pllh_aux
- mtd: nand: tango: Use nand_to_mtd() instead of directly accessing chip->mtd
- mtd: nand: Wait tCCS after a column change
- mtd: nand: Add a few more timings to nand_sdr_timings
- mtd: nand: add support for the TC58NVG2S0H chip
- mtd: nand: sunxi: fix support for 512bytes ECC chunks
- Gregory Clement (29)
- ARM64: dts: marvell: Add network support for Armada 3700
- net: mvneta: Only disable mvneta_bm for 64-bits
- net: mvneta: Use cacheable memory to store the rx buffer virtual address
- net: mvneta: Do not allocate buffer in rxq init with HWBM
- net: mvneta: Optimize rx path for small frame
- ARM64: dts: marvell: Fixup memory DT warning for Armada 37xx
- arm64: dts: marvell: Fixup config-space DT warning For Armada 7K/8K
- arm64: dts: marvell: Fixup internal-regs DT warning for Armada 37xx
- ARM: dts: armada-375: Fixup ethernet child DT warning
- ARM: dts: armada-375: Fixup memory DT warning
- ARM: dts: armada-375: Remove skeleton.dtsi
- ARM: dts: armada-375: Fixup pinctrl DT warnings
- ARM: dts: armada-375: Fixup pcie DT warnings
- ARM: dts: armada-375: Fixup mdio DT warning
- ARM: dts: armada-375: Use the node labels
- ARM: dts: armada-375: Add node labels
- ARM: dts: armada-370-xp: Fixup regulator DT warning
- ARM: dts: armada-370-xp: Remove button address and fixup names
- ARM: dts: armada-370-xp: Remove address from dsa unit name
- ARM: dts: armada-370-xp: Fixup memory DT warning
- ARM: dts: armada-370-xp: Fixup l2-cache DT warning
- ARM: dts: armada-370-xp: Remove skeleton.dtsi
- ARM: dts: armada-370: Fixup pcie DT warnings
- ARM: dts: armada-xp: Fixup pcie DT warnings
- ARM: dts: armada-370-xp: Fixup mdio DT warning
- ARM: dts: armada-370-xp: Use the node labels
- ARM: dts: armada-370-xp: add node labels
- ARM: dts: armada-370-xp: move the cpurst node in the common file
- ARM: dts: armada-xp-matrix: Fix the location of the pcie-controller node
- Romain Perier (17)
- crypto: marvell – Copy IVDIG before launching partial DMA ahash requests
- spi: Add support for Armada 3700 SPI Controller
- spi: armada-3700: Add documentation for the Armada 3700 SPI Controller
- i2c: pxa: Add support for the I2C units found in Armada 3700
- i2c: pxa: Add definition of fast and high speed modes via the regs layout
- dt-bindings: i2c: pxa: Update the documentation for the Armada 3700
- crypto: marvell – Don’t break chain for computable last ahash requests
- crypto: marvell – Use an unique pool to copy results of requests
- arm64: dts: marvell: add TRNG description for Armada 8K CP
- hwrng: omap – Add device variant for SafeXcel IP-76 found in Armada 8K
- hwrng: omap – Don’t prefix the probe message with OMAP
- hwrng: omap – Add support for 128-bit output of data
- hwrng: omap – Remove global definition of hwrng
- hwrng: omap – Switch to non-obsolete read API implementation
- dt-bindings: omap-rng: Document SafeXcel IP-76 device variant
- dt-bindings: Add vendor prefix for INSIDE Secure
- arm64: dts: marvell: Add definition for the Globalscale Marvell ESPRESSOBin Board
- Thomas Petazzoni (1)
- Maxime Ripard (37)
- pinctrl: sunxi: Don’t enforce bias disable (for now)
- mmc: sunxi: Prevent against null dereference for vmmc
- ARM: sunxi: Add the missing clocks to the pinctrl nodes
- ARM: sun8i: sina33: Enable USB gadget
- ARM: gr8: evb: Add i2s codec
- ARM: gr8: evb: Enable SPDIF
- ARM: sun5i: chip: Add optional buses
- ARM: sun5i: Add RGB 565 LCD pins
- ARM: sun5i: Add SPI2 pins
- ARM: sun5i: Rename A10s pins
- ARM: sun5i: chip: Enable Wi-Fi SDIO chip
- ARM: gr8: Add CHIP Pro support
- ARM: gr8: Add UART3 pins
- ARM: gr8: Add UART2 pins
- ARM: gr8: Add missing pwm channel 1 pin
- ARM: gr8: Fix typo in the i2s mclk pin group
- ARM: gr8: Add the UART3
- ARM: sun5i: a13-olinuxino: Enable VGA bridge
- pinctrl: sunxi: Add support for interrupt debouncing
- ASoC: wm8978: Adjust clock indices so that simple card works
- ASoC: sunxi: i2s: Implement set_sysclk
- ASoC: sun4i-i2s: Implement capture support
- clk: sunxi-ng: Add A64 clocks
- drm/sun4i: Add a few formats
- pinctrl: sunxi: Deal with configless pins
- clk: sunxi-ng: Implement minimum for multipliers
- clk: sunxi-ng: Add minimums for all the relevant structures and clocks
- clk: sunxi-ng: Finish to convert to structures for arguments
- clk: sunxi-ng: Remove the use of rational computations
- pinctrl: sunxi: Deprecate sunxi pinctrl bindings
- pinctrl: sunxi: Support generic binding
- pinctrl: sunxi: Handle bias disable
- pinctrl: sunxi: Use macros from bindings header file for DT parsing
- pinctrl: sunxi: Rework the pin config building code
- clk: sunxi-ng: Rename the internal structures
- ARM: multi_v7: enable VGA bridge
- ARM: sunxi: Enable VGA bridge
- Quentin Schulz (2)