Linus Torvalds has released 4.0 a few days ago, deciding to increment the major number version just because he cannot count up to 20 with his fingers and toes. As usual, LWN gave an excellent coverage of the merge window for 4.0 (which at the time was expected to be called 3.20): first part, second part and third part. LWN also published an article with development statistics about the 4.0 cycle.
According to the statistics, Bootlin is the 7th contributing company in number of patches for the 4.0 cycle.
Here is in detail, all our commits to the Linux 4.0 release:
- Alexandre Belloni (45):
- ASoC: atmel: sam9g20_wm8731: remove useless include
- Asoc: sam9x5_wm8731: depend on ARCH_AT91 instead of SOC_AT91SAM9X5
- ARM: at91: Add Special Function Registers binding documentation
- ARM: at91: sama5d3: Add SFR
- ARM: at91: sama5d4: Add SFR
- ARM: at91: remove unused mach/memory.h
- ARM: at91: remove useless config MACH_AT91RM9200_DT
- ARM: at91: remove useless config MACH_AT91SAM9_DT
- ARM: at91: remove useless at91_sysirq_mask_rtx
- ARM: at91: move debug-macro.S into the common space
- ARM: at91: remove useless at91rm9200_dt_initialize()
- ARM: at91: remove useless at91rm9200_set_type()
- ARM: at91/dt: at91sam9n12: Add RTC node
- ARM: at91/dt: rm9200: add RTC node
- ARM: at91/dt: at91rm9200ek: enable RTC
- ARM: at91/dt: add SRAM nodes
- ARM: at91/dt: Add a dtsi for at91sam9xe
- ARM: at91/dt: ethernut5: use at91sam9xe.dtsi
- ARM: at91: pm: rework cpu detection
- ARM: at91: pm: use the mmio-sram pool to access SRAM
- ARM: at91: pm: add UDP and UHP checks to newer SoCs
- ARM: at91: pm: prepare for multiplatform
- ARM: at91: remove useless map_io
- ARM: at91: sama5d4: remove useless call to at91_init_sram
- ARM: at91: remove unused at91_init_sram
- ARM: at91: move at91rm9200_idle() to clk/at91/pmc.c
- ARM: at91: mark const init data with __initconst instead of __initdata
- ARM: at91: fix sam9n12 and sam9x5 arm_pm_idle
- ARM: at91: sam9: set arm_pm_idle from sam9_dt_device_init
- ARM: at91: stop using HAVE_AT91_DBGUx
- ARM: at91: remove unused mach/system_rev.h
- ARM: at91: pm: remove warning to remove SOC_AT91SAM9263 usage
- pcmcia: at91_cf: depend on !ARCH_MULTIPLATFORM
- pwm: Add Allwinner SoC support
- pwm: sunxi: document OF bindings
- ARM: at91: at91rm9200: set idle and restart from rm9200_dt_device_init()
- ARM: at91: merge all SOC_AT91SAM9xxx
- ARM: at91: remove at91_boot_soc
- ARM: at91: remove at91_dt_initialize and machine init_early()
- avr32: remove fake at91 cpu identification
- ASoC: sam9g20_wm8731: drop machine_is_xxx
- ARM: at91: pm: fix at91rm9200 standby
- ARM: at91: pm: fix SRAM allocation
- ARM: at91/defconfig: add at91rm9200 ethernet support
- ARM: at91: debug: fix non MMU debug
- Boris Brezillon (41):
- mtd: nand: gpmi: remove deprecated comment
- pwm: atmel-hlcdc: Prevent division by zero
- PM / wakeup: export pm_system_wakeup symbol
- rtc: at91sam9: rework wakeup and interrupt handling
- rtc: at91rm9200: rework wakeup and interrupt handling
- clk: at91: implement suspend/resume for the PMC irqchip
- ARM: at91/dt: sama5d4: rename lcd_clk into lcdc_clk
- ARM: at91/dt: sama5d4: fix lcdck clock definition
- watchdog: at91sam9: request the irq with IRQF_NO_SUSPEND
- tty: serial: atmel: rework interrupt and wakeup handling
- usb: atmel_usba_udc: Rework at91sam9rl errata handling
- usb: atmel_usba_udc: Add at91sam9g45 and at91sam9x5 errata handling
- usb: atmel_usba_udc: Mask status with enabled irqs
- usb: gadget: atmel_usba: Cache INT_ENB register value
- mfd: syscon: Add atmel-matrix registers definition
- mfd: syscon: Add Atmel Matrix bus DT binding documentation
- mfd: syscon: Add atmel-smc registers definition
- mfd: syscon: Add Atmel SMC binding doc
- usb: gadget: at91_udc: Fix clock names
- usb: gadget: at91_udc: Drop uclk clock
- usb: gadget: at91_udc: Document DT clocks and clock-names property
- usb: gadget: at91_udc: Remove non-DT handling code
- usb: gadget: at91_udc: Simplify probe and remove functions
- usb: gadget: at91_udc: Rework for multi-platform kernel support
- usb: gadget: at91_udc: Update DT binding documentation
- usb: gadget: at91_udc: Allocate udc instance
- ARM: at91: remove useless header file includes
- drm: add bus_formats and num_bus_formats fields to drm_display_info
- drm: panel: simple-panel: add support for bus_format retrieval
- drm: panel: simple-panel: add bus format information for foxlink panel
- drm: add Atmel HLCDC Display Controller support
- drm: add DT bindings documentation for atmel-hlcdc-dc driver
- drm: fix drm_display_info_set_bus_formats kernel doc header
- drm: atmel-hlcdc: Add dependency on ARM
- drm: atmel-hlcdc: reset layer A2Q and UPDATE bits when disabling it
- drm: atmel-hlcdc: remove useless pm_runtime_put_sync in probe
- ARM: at91/dt: at91sam9261: fix clocks and clock-names in udc definition
- ARM: at91/dt: declare matrix node as a syscon device
- ARM: at91/dt: fix at91 udc compatible strings
- pinctrl: at91: move lock/unlock_as_irq calls into request/release
- USB: ehci-atmel: rework clk handling
- Gregory CLEMENT (46):
- ARM: mvebu: a38x: Add more pinctrl functions
- ARM: mvebu: a38x: Add missing labels
- ARM: mvebu: Document the Device Tree binding for the Armada 388 SoC
- ARM: mvebu: Add Device Tree description of the Armada 388 SoC
- ARM: mvebu: Add Armada 388 General Purpose Development Board support
- ARM: mvebu: Update the SoC ID and revision definitions
- ata: libahci: Clean-up the ahci_platform_en/disable_phys functions
- Documentation: bindings: Add the regulator property to the sub-nodes AHCI bindings
- ata: libahci: Allow using multiple regulators
- ARM: mvebu: Armada 385 GP: Add regulators to the SATA port
- ARM: mvebu: armada-370-db: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-370: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-370-mirabox: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-370-netgear-rn102: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-370-netgear-rn104: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-370-rd: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-370-synology-ds213j: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-370-xp: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-375-db: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-375: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-380: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-388-db: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-385: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-388-rd: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-38x: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-xp-axpwifiap: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-xp-db: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-xp: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-xp-gp: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-xp-lenovo-ix4-300d: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-xp-matrix: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-xp-mv78230: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-xp-mv78260: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-xp-mv78460: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-xp-netgear-rn2120: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-xp-openblocks-ax3-4: Relicense the device tree under GPLv2+/X11
- ARM: mvebu: armada-xp-synology-ds414: Relicense the device tree under GPLv2+/X11
- mmc: sdhci-pxav3: Fix SDR50 and DDR50 capabilities for the Armada 38x flavor
- mmc: sdhci-pxav3: Extend binding with SDIO3 conf reg for the Armada 38x
- rtc: armada38x: add the device tree binding documentation
- drivers/rtc/rtc-armada38x: add a new RTC driver for recent mvebu SoCs
- MAINTAINERS: add the RTC driver for the Armada38x
- ARM: mvebu: add Device Tree description of RTC on Armada 38x
- ARM: mvebu: enable Armada 38x RTC driver in mvebu_v7_defconfig
- cpuidle: mvebu: Fix the CPU PM notifier usage
- MAINTAINERS: Add myself as co-maintainer to the legacy support of the mvebu SoCs
- Maxime Ripard (86):
- crypto: ux500: Use dmaengine_terminate_all API
- dmaengine: Make the destination abbreviation coherent
- dmaengine: Rework dma_chan_get
- dmaengine: Make channel allocation callbacks optional
- dmaengine: Introduce a device_config callback
- dmaengine: split out pause/resume operations from device_control
- dmaengine: Add device_terminate_all callback
- dmaengine: Remove the need to declare device_control
- dmaengine: Create a generic dma_slave_caps callback
- dmaengine: pl08x: Split device_control
- dmaengine: hdmac: Split device_control
- dmaengine: bcm2835: Split device_control
- dmaengine: coh901318: Split device_control
- dmaengine: cppi41: Split device_control
- dmaengine: jz4740: Split device_control
- dmaengine: dw: Split device_control
- dmaengine: edma: Split device_control
- dmaengine: ep93xx: Split device_control
- dmaengine: fsl-edma: Split device_control
- dmaengine: imx: Split device_control
- dmaengine: imx-sdma: Split device_control
- dmaengine: intel-mid-dma: Split device_control
- dmaengine: ipu-idmac: Split device_control
- dmaengine: k3: Split device_control
- dmaengine: mmp-pdma: Split device_control
- dmaengine: mmp-tdma: Split device_control
- dmaengine: moxart: Split device_control
- dmaengine: fsl-dma: Split device_control
- dmaengine: mpc512x: Split device_control
- dmaengine: mxs: Split device_control
- dmaengine: nbpfaxi: Split device_control
- dmaengine: omap: Split device_control
- dmaengine: pl330: Split device_control
- dmaengine: bam-dma: Split device_control
- dmaengine: s3c24xx: Split device_control
- dmaengine: sa11x0: Split device_control
- dmaengine: sh: Split device_control
- dmaengine: sirf: Split device_control
- dmaengine: sun6i: Split device_control
- dmaengine: d40: Split device_control
- dmaengine: tegra20: Split device_control
- dmaengine: xilinx: Split device_control
- dmaengine: mv_xor: Remove device_control
- dmaengine: pch-dma: Rename device_control
- dmaengine: td: Rename device_control
- dmaengine: txx9: Rename device_control
- dmaengine: rapidio: tsi721: Rename device_control
- dmaengine: bcm2835: Declare slave capabilities for the generic code
- dmaengine: fsl-edma: Declare slave capabilities for the generic code
- dmaengine: edma: Declare slave capabilities for the generic code
- dmaengine: nbpfaxi: Declare slave capabilities for the generic code
- dmaengine: omap: Declare slave capabilities for the generic code
- dmaengine: pl330: Declare slave capabilities for the generic code
- dmaengine: sirf: Declare slave capabilities for the generic code
- dmaengine: sun6i: Declare slave capabilities for the generic code
- dmaengine: Add a warning for drivers not using the generic slave caps retrieval
- dmaengine: Remove device_control and device_slave_caps
- Documentation: dmaengine: Update the documentation
- ARM: mvebu: Rename DEBUG_LL to indicate UART index
- ARM: mvebu: Add UART1 as DEBUG_LL possible target
- ARM: mvebu: a38x: Fix node names
- ARM: mvebu: A38x: Remove redundant pinctrl informations
- ARM: mvebu: Add a number of pinctrl functions
- ARM: mvebu: Add Armada 385 Access Point Development Board support
- pinctrl: mvebu: a38x: Add UART1 muxing options
- ARM: at91/config: sama5: Remove DEBUG_LL
- clk: sunxi: Rework MMC phase clocks
- ARM: sunxi: dt: Add sample and output mmc clocks
- mmc: sunxi: Convert MMC driver to the standard clock phase API
- clk: sunxi: Remove custom phase function
- dmaengine: sa11x0: Fix warning and compilation errors
- dmaengine: s3c24xx: Fix typo
- ARM: sunxi: DT: Convert to device tree includes
- ARM: sunxi: DT: convert DTs to use common GPIOs includes
- ARM: sunxi: DT: Convert the DTs to use a header for the DMA arguments
- ARM: sunxi: DT: Convert the DTs to use a header for the pinctrl nodes
- ARM: sunxi: DT: Convert the DTs to use the GIC headers
- ARM: sunxi: DT: Convert the DTs to use the generic interrupt header
- ARM: sun7i: cubieboard2: Relicense the device tree under GPLv2/X11
- ARM: sun7i: cubietruck: Relicense the device tree under GPLv2/X11
- ARM: sun6i: Enable ARM arch timers
- clk: Export phase functions
- usb: XHCI: platform: Move the Marvell quirks after the enabling the clocks
- mtd: nand: pxa3xx: Fix PIO FIFO draining
- irqchip: armada-370-xp: Fix chained per-cpu interrupts
- clocksource/drivers/sun5i: Fix cpufreq interaction with sched_clock()
- Thomas Petazzoni (34):
- ARM: mvebu: enable CPUFREQ_DT in mvebu_v7_defconfig
- dt: bindings: update mvebu-mbus DT binding with new compatible properties
- ARM: mvebu: fix compatible strings of MBus on Armada 375 and Armada 38x
- staging: fbtft: core support
- staging: fbtft: add fb_agm1264k-fl driver
- staging: fbtft: add fb_bd663474 driver
- staging: fbtft: add fb_hx8340bn driver
- staging: fbtft: add fb_hx8347d driver
- staging: fbtft: add fb_hx8353d driver
- staging: fbtft: add fb_ili9320 driver
- staging: fbtft: add fb_ili9325 driver
- staging: fbtft: add fb_ili9340 driver
- staging: fbtft: add fb_ili9341 driver
- staging: fbtft: add fb_ili9481 driver
- staging: fbtft: add fb_ili9486 driver
- staging: fbtft: add fb_pcd8544 driver
- staging: fbtft: add fb_ra8875 driver
- staging: fbtft: add fb_s6d02a1 driver
- staging: fbtft: add fb_s6d1121 driver
- staging: fbtft: add fb_ssd1289 driver
- staging: fbtft: add fb_ssd1306 driver
- staging: fbtft: add fb_ssd1331 driver
- staging: fbtft: add fb_ssd1351 driver
- staging: fbtft: add fb_st7735r driver
- staging: fbtft: add fb_tinylcd driver
- staging: fbtft: add fb_tls8204 driver
- staging: fbtft: add fb_uc1701 driver
- staging: fbtft: add fb_upd161704 driver
- staging: fbtft: add fb_watterott driver
- staging: fbtft: add flexfb driver
- staging: fbtft: add fbtft_device driver
- bus: mvebu-mbus: use automatic I/O synchronization barriers
- ARM: mvebu: use arm_coherent_dma_ops and re-enable hardware I/O coherency
- bus: mvebu-mbus: make sure SDRAM CS for DMA don’t overlap the MBus bridge window