Linus Torvalds has released last sunday the 4.2 release of the Linux kernel. LWN.net covered the merge window of this 4.2 release cycle in 3 parts (part 1, part 2 and part 3), giving a lot of details about the new features and important changes.
In a more recent article, LWN.net published some statistics about the 4.2 development cycle. In those statistics, Bootlin appears as the 10th contributing company by number of patches with 203 patches integrated, and Bootlin engineer Maxime Ripard is in the list of most active developers by changed lines, with 6000+ lines changed. See also this page for more kernel contribution statistics.
This time around, the most important contributions of Bootlin where:
- Support for Atmel ARM processors:
- The effort to clean-up the
arch/arm/mach-at91/
continued, now that the conversion to the Device Tree and multiplatform is completed. This was mainly done by Alexandre Belloni. - Support for the ACME Systems Arietta G25 was added by Alexandre Belloni.
- Support for the RTC on at91sam9rlek was also added by Alexandre Belloni.
- Significant improvements were brought to the dmaengine xdmac and hdmac drivers (used on Atmel SAMA5D3 and SAMA5D4), bringing interleaved support, memset support, and better performance for certain use cases. This was done by Maxime Ripard.
- The effort to clean-up the
- Support for Marvell Berlin ARM processors:
- In preparation to the addition of a driver for the ADC, an important refactoring of the reset, clock and pinctrl driver was done by using a regmap and the syscon mechanism to more easily share the common registers used by those drivers. Worked done by Antoine Ténart.
- An IIO driver for the ADC was contributed, which relies on the syscon and regmap mentioned above, as the ADC uses registers that are mixed with the clock, reset and pinctrl ones.
- The Device Tree files were relicensed under GPLv2 and X11 licenses.
- Support for Marvell EBU ARM processors:
- A completely new driver for the CESA cryptographic engine was contributed by Boris Brezillon. This driver aims at replacing the old mv_cesa drivers, by supporting the newer features of the cryptographic engine available in recent Marvell EBU SoCs (DMA, new ciphers, etc.). The driver is backward compatible with the older processors, so it will be a full replacement for
mv_cesa
. - A big cleanup/verification work was done on the pinctrl drivers for Armada 370, 375, 38x, 39x and XP, leading to a number of fixes to pin definitions. This was done by Thomas Petazzoni.
- Various fixes were made (suspend/resume improvements, big endian usage, SPI, etc.).
- A completely new driver for the CESA cryptographic engine was contributed by Boris Brezillon. This driver aims at replacing the old mv_cesa drivers, by supporting the newer features of the cryptographic engine available in recent Marvell EBU SoCs (DMA, new ciphers, etc.). The driver is backward compatible with the older processors, so it will be a full replacement for
- Support for the Allwinner ARM processors:
- Support for the AXP22x PMIC was added by Boris Brezillon, including the support for the regulators provided by this PMIC. This PMIC is used on a significant number of Allwinner designs.
- A small number of Device Tree files were relicensed under GPLv2 and X11 licenses.
- A big cleanup of the Device Tree files was done by using more aggressively the “DT label based syntax”
- A new driver, sunxi_sram, was added to support the SRAM memories available in some Allwinner processors.
- RTC subsystem:
- As was announced recently, Bootlin engineer Alexandre Belloni is now the co-maintainer of the RTC subsystem. He has set up a Git repository at https://git.kernel.org/cgit/linux/kernel/git/abelloni/linux.git/ to maintain this subsystem. During the 4.2 release cycle, 46 patches were merged in the
drivers/rtc/
directory: 7 were authored by Alexandre, and all other patches (with the exception of two) were merged by Alexandre, and pushed to Linus.
- As was announced recently, Bootlin engineer Alexandre Belloni is now the co-maintainer of the RTC subsystem. He has set up a Git repository at https://git.kernel.org/cgit/linux/kernel/git/abelloni/linux.git/ to maintain this subsystem. During the 4.2 release cycle, 46 patches were merged in the
The full details of our contributions:
- Alexandre Belloni (40):
- ARM: multi_v7_defconfig: Add Atmel SAMA5 family
- ata: at91: use syscon to configure the smc
- ARM: at91: drop sam9_smc.c
- ARM: at91: declare the at91rm9200 memory controller as a syscon
- pcmcia: at91_cf: Use syscon to configure the MC/smc
- ARM: at91/pm: use the atmel-mc syscon defines
- ARM: at91: remove mach/at91_ramc.h and mach/at91rm9200_mc.h
- ARM: at91: remove at91rm9200_sdramc.h
- ARM: at91: remove useless Makefile.boot
- ASoC: atmel: simplify Kconfig
- ASoC: atmel: compile pcm driver in snd-soc-atmel_ssc_dai
- clockevents: Do not suspend/resume if unused
- ARM: at91/dt: at91sam9rl: fix rtc node
- ARM: at91/dt: at91sam9rlek: add RTC
- ARM: at91/dt: kizbox: use stdout-path
- ARM: at91/dt: at91rm9200ek: use stdout-path
- ARM: at91/dt: at91sam9261ek: use stdout-path
- ARM: at91/dt: at91sam9263ek: use stdout-path
- ARM: at91/dt: at91sam9g20ek: use stdout-path
- ARM: at91/dt: at91sam9m10g45ek use stdout-path
- ARM: at91/dt: at91sam9n12ek: use stdout-path
- ARM: at91/dt: at91sam9rlek: use stdout-path
- ARM: at91/dt: at91sam9x5ek: use stdout-path
- ARM: at91/dt: sama5d3xek: use stdout-path
- ARM: at91/dt: sama5d3 xplained: use stdout-path
- ARM: at91/dt: sama5d4ek: use stdout-path
- ARM: at91/dt: sama5d4 xplained: use stdout-path
- ARM: at91/dt: Add Acme Arietta G25
- pwm: atmel: Fix incorrect CDTY value after enabling
- pwm: atmel: Fix incorrect CDTY value after disabling
- ASoC: atmel: Revert previous fix for Kconfig limations
- ASoC: atmel: properly select dma driver state
- rtc: mt6397: fix build on some 32bits platforms
- rtc: stmp3xxx select STMP_DEVICE
- rtc: mv: use BIT()
- rtc: mv: correct 24 hour error message
- MAINTAINERS: Add RTC subsystem repository
- rtc: Properly sort Makefile
- rtc: whitespace fixes
- rtc: remove useless I2C dependencies
- Antoine Tenart (31):
- ARM: dts: berlin: relicense the berlin2q dtsi under GPLv2/X11
- ARM: dts: berlin: relicense the BG2Q Marvell DMP dts under GPLv2/X11
- ARM: dts: berlin: relicense the berlin2 dtsi under GPLv2/X11
- ARM: dts: berlin: relicense the BG2 Sony NSZ-GS7 dts under GPLv2/X11
- ARM: dts: berlin: relicense the berlin2cd dtsi under GPLv2/X11
- ARM: dts: berlin: relicense the BG2CD Google Chromecast dts under GPLv2/X11
- Documentation: bindings: berlin: consider our dt bindings as unstable
- Documentation: bindings: update the Berlin controllers documentation
- Documentation: bindings: move the Berlin reset documentation
- Documentation: bindings: move the Berlin pinctrl documentation
- Documentation: bindings: move the Berlin clock documentation
- Documentation: bindings: update the berlin chip and system ctrl doc
- ARM: berlin: select MFD_SYSCON by default
- ARM: berlin: prepare simple-mfd/syscon conversion of sys/chip ctrl nodes
- reset: berlin: convert to a platform driver
- ARM: berlin: move reset to simple-mfd nodes
- reset: berlin: drop arch_initcall initialization
- pinctrl: berlin: prepare to use regmap provided by syscon
- ARM: berlin: move pinctrl to simple-mfd nodes
- pinctrl: berlin: drop SoC stub provided regmap
- clk: berlin: prepare simple-mfd conversion
- ARM: berlin: move BG2 clock node
- ARM: berlin: move BG2CD clock node
- ARM: berlin: move BG2Q clock node
- clk: berlin: drop direct of_iomap of nodes reg property
- ARM: berlin: remove useless chip and system ctrl compatibles
- ARM: berlin: add an ADC node for the BG2Q
- iio: adc: add support for Berlin
- Documentation: bindings: document the Berlin ADC driver
- pinctrl: berlin: fix spi1 SS0n function name
- pinctrl: berlin: comment the spi functions
- Boris Brezillon (24):
- ARM: dts: sun6i: add p2wi controller node to dtsi
- mfd: axp20x: Add AXP22x PMIC support
- regulator: axp20x: Prepare support for multiple AXP chip families
- regulator: axp20x: Add support for AXP22X regulators
- crypto: mv_cesa – request registers memory region
- crypto: mv_cesa – document the clocks property
- crypto: mv_cesa – use gen_pool to reserve the SRAM memory region
- crypto: mv_cesa – explicitly define kirkwood and dove compatible strings
- crypto: marvell/cesa – add a new driver for Marvell’s CESA
- crypto: marvell/cesa – add TDMA support
- crypto: marvell/cesa – add DES support
- crypto: marvell/cesa – add support for all armada SoCs
- crypto: marvell/cesa – add allhwsupport module parameter
- crypto: marvell/cesa – add support for Orion SoCs
- crypto: marvell/cesa – add DT bindings documentation
- mfd: syscon: Add Atmel MC (Memory Controller) registers definition
- USB: atmel: update DT bindings documentation
- ARM: at91/dt: remove useless uhpck clock references from ehci defintions
- ARM: at91/dt: remove useless usb clock
- clk: mvebu: add missing CESA gate clk
- clk: mvebu: flag the crypto clk as CLK_IGNORE_UNUSED
- crypto: marvell/cesa – remove COMPILE_TEST dependency
- ARM: at91/dt: update udc compatible strings
- drm: atmel-hlcdc: fix vblank initial state
- Gregory CLEMENT (4):
- Maxime Ripard (64):
- ARM: sun4i: Relicense the A10 DTSI under GPLv2/X11
- ARM: sun5i: Relicense the A10s/A13 DTSI under GPLv2/X11
- ARM: sun7i: hummingbird: Relicense the device tree under GPLv2/X11
- ARM: sun7i: olinuxino micro: Relicense the device tree under GPLv2/X11
- ARM: sun5i: Add a DTSI common to A10s and A13
- ARM: sun5i: a13: Move to the common sun5i DTSI
- ARM: sun5i: a10s: Move to the common sun5i DTSI
- ARM: sun4i: a1000: Convert to DT label based syntax
- ARM: sun4i: ba10 tvbox: Convert to DT label based syntax
- ARM: sun4i: cubieboard: Convert to DT label based syntax
- ARM: sun4i: hackberry: Convert to DT label based syntax
- ARM: sun4i: inet97fv2: Convert to DT label based syntax
- ARM: sun4i: mini xplus: Convert to DT label based syntax
- ARM: sun4i: olinuxino lime: Convert to DT label based syntax
- ARM: sun4i: pcduino: Convert to DT label based syntax
- ARM: sun5i: a10s: olinuxino micro: Convert to DT label based syntax
- ARM: sun5i: a10s: r7 tv dongle: Convert to DT label based syntax
- ARM: sun5i: a13: hsg h702: Convert to DT label based syntax
- ARM: sun5i: a13: olinuxino micro: Convert to DT label based syntax
- ARM: sun5i: a13: olinuxino: Convert to DT label based syntax
- ARM: sun6i: app4 evb1: Convert to DT label based syntax
- ARM: sun6i: colombus: Convert to DT label based syntax
- ARM: sun6i: m9: Convert to DT label based syntax
- ARM: sun7i: bananapi: Convert to DT label based syntax
- ARM: sun7i: cubieboard2: Convert to DT label based syntax
- ARM: sun7i: cubietruck: Convert to DT label based syntax
- ARM: sun7i: hummingbird: Convert to DT label based syntax
- ARM: sun7i: i12 tvbox: Convert to DT label based syntax
- ARM: sun7i: m3: Convert to DT label based syntax
- ARM: sun7i: olinuxino lime: Convert to DT label based syntax
- ARM: sun7i: olinuxino lime2: Convert to DT label based syntax
- ARM: sun7i: olinuxino micro: Convert to DT label based syntax
- ARM: sun7i: pcduino3: Convert to DT label based syntax
- ARM: sun8i: ippo q8h v5: Convert to DT label based syntax
- ARM: sunxi: DT: Add stdout-path property
- ARM: dts: sun7i: Add A20 SRAM and SRAM controller
- clocksource: asm9260: Fix of_io_request_and_map error check
- clocksource: integrator: Fix of_io_request_and_map error check
- clocksource: sun5i: Fix of_io_request_and_map error check
- irqchip: vf610: Fix of_io_request_and_map error check
- clk: sunxi: Fix of_io_request_and_map error check
- mtd: nand: pxa3xx: Switch FIFO draining to jiffies-based timeout
- ARM: sunxi: dt: Remove the FSF address
- ARM: sunxi: DT: Fix lines over 80 characters
- ARM: sunxi: dt: Fix whitespace errors
- ARM: sunxi: dt: Split the SPI pinctrl groups
- clk: asm9260: Fix of_io_request_and_map error check
- dmaengine: Support different source and destination stride
- dmaengine: xdmac: Handle descriptor’s view 3 registers
- dmaengine: xdmac: Add function to align width
- dmaengine: xdmac: Rework the chaining logic
- dmaengine: xdmac: Add interleaved transfer support
- ARM: sun8i: Introduce A23 Evaluation Board Support
- ARM: dts: sunxi: Revert SRAM controller drivers patches
- ARM: dts: sun4i: Add A10 SRAM and SRAM controller
- ARM: dts: sun5i: Add A10s and A13 SRAM and SRAM controller
- ARM: dts: sun7i: Add A20 SRAM and SRAM controller
- drivers: soc: sunxi: Introduce SoC driver to map SRAMs
- dmaengine: mv_xor: Rename function for consistent naming
- dmaengine: Move icg helpers to global header
- dmaengine: hdmac: Implement interleaved transfers
- dmaengine: Revert “drivers/dma: remove unused support for MEMSET operations”
- dmaengine: xdmac: Add memset support
- ARM: sunxi: Enable simplefb in the defconfig
- Thomas Petazzoni (40):
- bus: mvebu-mbus: add mv_mbus_dram_info_nooverlap()
- pinctrl: mvebu: armada-38x: fix PCIe functions
- pinctrl: mvebu: armada-370: fix spi0 pin description
- pinctrl: mvebu: armada-375: remove non-existing NAND re/we pins
- pinctrl: mvebu: armada-xp: remove non-existing NAND pins
- pinctrl: mvebu: armada-xp: remove non-existing VDD cpu_pd functions
- pinctrl: mvebu: armada-xp: fix functions of MPP48
- pinctrl: mvebu: armada-375: remove incorrect space in pin description
- pinctrl: mvebu: armada-38x: fix incorrect total number of GPIOs
- pinctrl: mvebu: armada-39x: fix incorrect total number of GPIOs
- pinctrl: mvebu: armada-{375,38x,39x}: normalize naming of PTP subnames
- pinctrl: mvebu: armada-{38x,39x,xp}: normalize naming of DRAM functions
- pinctrl: mvebu: armada-39x: normalize SATA present functionality naming
- pinctrl: mvebu: armada-39x: normalize SDIO pin naming
- pinctrl: mvebu: armada-{370,375,38x,39x}: normalize dev pins
- pinctrl: mvebu: armada-39x: align NAND pin naming
- pinctrl: mvebu: armada-{370,375,38x,39x,xp}: normalize TDM pins
- pinctrl: mvebu: armada-{370,375}: normalize PCIe pins
- pinctrl: mvebu: armada-{370,375}: normalize audio pins
- pinctrl: mvebu: armada-{370,xp}: normalize ethernet txclkout pins
- pinctrl: mvebu: armada-xp: fix binding documentation of ge1 pins
- pinctrl: mvebu: armada-370: align VDD cpu-pd pin naming with datasheet
- pinctrl: mvebu: armada-370: align spi1 clock pin naming
- pinctrl: mvebu: armada-xp: rename spi to spi0
- pinctrl: mvebu: armada-39x: normalize ref clock naming
- pinctrl: mvebu: armada-xp: add spi1 function
- pinctrl: mvebu: armada-xp: add nand rb function
- pinctrl: mvebu: armada-xp: add dram functions
- pinctrl: mvebu: armada-38x: add sata functions
- pinctrl: mvebu: armada-38x: add nand functions
- pinctrl: mvebu: armada-38x: add ua1 functions
- pinctrl: mvebu: armada-38x: add ptp functions
- pinctrl: mvebu: armada-39x: add missing PCIe functions
- pinctrl: mvebu: armada-39x: add missing SATA functions
- pinctrl: mvebu: armada-39x: add support for Armada 395 variant
- ARM: mvebu: adjust Armada XP DT spi muxing after pinctrl function rename
- ARM: mvebu: fix suspend to RAM on big-endian configurations
- ata: ahci_mvebu: add suspend/resume support
- wireless: regulatory: reduce log level of CRDA related messages
- dmaengine: mv_xor: fix big endian operation in register mode