Linux 4.14, which is going to become the next Long Term Supported version, has been released a week ago by Linus Torvalds. As usual, LWN.net did an interesting coverage of this release cycle merge window, highlighting the most important changes: The first half of the 4.14 merge window and The rest of the 4.14 merge window.
According to Linux Kernel Patch statistics, Bootlin contributed 111 patches to this release, making it the 24th contributing company by number of commits: a somewhat lower than usual contribution level from our side. At least, Bootlin cannot be blamed for trying to push more code into 4.14 because of its Long Term Support nature! 🙂
The main highlights of our contributions are:
- On the RTC subsystem, Alexandre Belloni made as usual a number of fixes and improvements to various drivers, especially the
ds1307
driver. - On the NAND subsystem, Boris Brezillon did a number of small improvements in various areas.
- On the support for Marvell platforms
- Antoine Ténart improved the
ppv2
network driver used by the Marvell Armada 7K/8K SoCs: support for 10G speed and TSO support are the main highlights. In order to support 10G speed, Antoine added a driver indrivers/phy/
to configure the common PHYs in the Armada 7K/8K SoCs. - Thomas Petazzoni also improved the
ppv2
network driver by adding support for TX interrupts and per-CPU RX interrupts. - Grégory Clement contributed some patches to enable NAND support on Armada 7K/8K, as well as a number of fixes in different areas (GPIO fix, clock handling fixes, etc.)
- Miquèl Raynal contributed a fix for the Armada 3700 SPI controller driver.
- Antoine Ténart improved the
- On the support for Allwinner platforms
- Maxime Ripard contributed the support for a new board, the BananaPI M2-Magic. Maxime also contributed a few fixes to the Allwinner DRM driver, and a few other misc fixes (clock, MMC, RTC, etc.).
- Quentin Schulz contributed the support for the power button functionality of the AXP221 (PMIC used in several Allwinner platforms)
- On the support for Atmel platforms, Quentin Schulz improved the clock drivers for this platform to properly support the Audio PLL, which allowed to fix the Atmel audio drivers. He also fixed suspend/resume support in the Atmel MMC driver to support the deep sleep mode of the SAMA5D2 processor.
In addition to making direct contributions, Bootlin is also involved in the Linux kernel development by having a number of its engineers act as Linux kernel maintainers. As part of this effort, Bootlin engineers have reviewed, merged and sent pull requests for a large number of contributions from other developers:
- Boris Brezillon, as the NAND subsystem maintainer and MTD subsystem co-maintainer, merged 68 patches from other developers.
- Alexandre Belloni, as the RTC subsystem maintainer and Atmel ARM platform co-maintainer, merged 32 patches from other developers.
- Grégory Clement, as the Marvell ARM platform co-maintainer, merged 29 patches from other developers.
- Maxime Ripard, as the Allwinner ARM platform co-maintainer, merged 18 patches from other developers.
This flow of patches from kernel maintainers to other kernel maintainers is also nicely described for the 4.14 release by the Patch flow into the mainline for 4.14 LWN.net article.
The detailed list of our contributions:
- Alexandre Belloni (20)
- dt-bindings: fix vendor prefix for Abracon
- ARM: at91: Replace uses of virt_to_phys with __pa_symbol
- rtc: ds1307: use octal permissions
- rtc: ds1307: fix braces
- rtc: ds1307: fix alignments and blank lines
- rtc: ds1307: use BIT
- rtc: ds1307: use u32
- rtc: ds1307: use sizeof
- rtc: ds1307: remove regs member
- alarmtimer: Ensure RTC module is not unloaded
- m68knommu: remove dead code
- rtc: remove .open() and .release()
- rtc: mxc: avoid disabling interrupts on device close
- rtc: vr41xx: make alarms useful
- rtc: sa1100: make alarms useful
- rtc: sa1100: fix unbalanced clk_prepare_enable/clk_disable_unprepare
- rtc: pxa: fix possible race condition
- rtc: m41t80: remove debug sysfs attribute
- rtc: puv3: make alarms useful
- rtc: puv3: switch to devm_rtc_allocate_device()/rtc_register_device()
- Antoine Tenart (38)
- irqchip/irq-mvebu-gicp: Add missing spin_lock init
- net: mvpp2: do not sleep in set_rx_mode
- net: mvpp2: fix invalid parameters order when calling the tcam init
- net: mvpp2: fix typo in the tcam setup
- net: mvpp2: do not call txq_done from the Tx path when Tx irqs are used
- net: mvpp2: do not unmap TSO headers buffers
- net: mvpp2: do not select the internal source clock
- phy: mvebu-cp110-comphy: explicitly set the pipe selector
- phy: mvebu-cp110-comphy: fix mux error check
- net: mvpp2: fallback using h/w and random mac if the dt one isn’t valid
- net: mvpp2: fix use of the random mac address for PPv2.2
- net: mvpp2: move the mac retrieval/copy logic into its own function
- Documentation/bindings: net: marvell-pp2: add the link interrupt
- net: mvpp2: use the GoP interrupt for link status changes
- net: mvpp2: make the phy optional
- net: mvpp2: take advantage of the is_rgmii helper
- net: mvpp2: dynamic reconfiguration of the comphy/GoP/MAC
- net: mvpp2: do not set GMAC autoneg when using XLG MAC
- net: mvpp2: improve the link management function
- net: mvpp2: simplify the link_event function
- net: mvpp2: initialize the comphy
- Documentation/bindings: phy: document the Marvell comphy driver
- phy: add the mvebu cp110 comphy driver
- phy: add sgmii and 10gkr modes to the phy_mode enum
- arm64: dts: marvell: mcbin: enable more networking ports
- arm64: dts: marvell: add a reference to the sysctrl syscon in the ppv2 node
- net: mvpp2: fix the packet size configuration for 10G
- net: mvpp2: software tso support
- net: mvpp2: unify the txq size define use
- net: define the TSO header size in net/tso.h
- Documentation/bindings: net: marvell-pp2: add the system controller
- net: mvpp2: initialize the GoP
- net: mvpp2: initialize the XLG MAC when using a port
- net: mvpp2: initialize the GMAC when using a port
- net: mvpp2: move the mii configuration in the ndo_open path
- net: mvpp2: fix the synchronization module bypass macro name
- net: mvpp2: unify register definitions coding style
- arm64: dts: marvell: mcbin: add an stdout-path
- Boris Brezillon (9)
- mm/cma.c: take __GFP_NOWARN into account in cma_alloc()
- mtd: Fix partition alignment check on multi-erasesize devices
- mtd: spi-nor: Check consistency of the memory size extracted from the SFDP
- mtd: nand: mxc: Fix mxc_v1 ooblayout
- mtd: nand: Fix various memory leaks in core
- mtd: nand: Rename nand.h into rawnand.h
- mtd: nand: Remove support for block locking/unlocking
- drm: Add drm_atomic_helper_wait_for_flip_done()
- drm/vc4: Send a VBLANK event when disabling a CRTC
- Gregory Clement (6)
- mmc: sdhci-xenon: Fix clock resource by adding an optional bus clock
- net: mvpp2: Fix clock resource by adding an optional bus clock
- pinctrl: armada-37xx: Fix gpio interrupt setup
- mtd: nand: pxa3xx_nand: enable building on mvebu 64-bit platforms
- ARM64: dts: marvell: add NAND support on the CP110
- arm64: dts: marvell: Fully re-order nodes in Marvell CP110 dtsi files
- Thomas Petazzoni (12)
- PCI: aardvark: Move to struct pci_host_bridge IRQ mapping functions
- arm64: dts: marvell: fix interrupt-map property for Armada CP110 PCIe controller
- arm64: dts: marvell: add TX interrupts for PPv2.2
- dt-bindings: net: marvell-pp2: update interrupt-names with TX interrupts
- net: mvpp2: add support for TX interrupts and RX queue distribution modes
- net: mvpp2: introduce queue_vector concept
- net: mvpp2: move from cpu-centric naming to “software thread” naming
- net: mvpp2: introduce per-port nrxqs/ntxqs variables
- net: mvpp2: remove RX queue group reset code
- net: mvpp2: fix MVPP21_ISR_RXQ_GROUP_REG definition
- arm64: dts: marvell: re-order RTC nodes in Marvell CP110 description
- arm64: defconfig: enable nop-xceiv PHY driver
- Maxime Ripard (12)
- rtc: sun6i: Add support for the external oscillator gate
- mmc: sunxi: Reset the device at probe time
- clk: sunxi-ng: Provide a default reset hook
- Revert “ARM: dts: sun8i: h3: Enable dwmac-sun8i on the Beelink X2”
- ARM: dts: sun8i: Add BananaPI M2-Magic DTS
- drm/atomic: implement drm_atomic_helper_commit_tail for runtime_pm users
- arm: sunxi: Add AXP20X_ADC
- arm: sunxi: Add additional power supplies
- arm: sunxi: refresh the defconfig
- drm/sun4i: tcon: remove unused function
- drm/sun4i: Remove useless atomic_check
- drm/sun4i: Add if statement instead of depends on
- Quentin Schulz (13)
- mfd: axp20x: Use correct platform device ID for many PEK
- ASoC: atmel-classd: remove aclk clock
- ASoC: atmel-classd: remove aclk clock from DT binding
- clk: at91: clk-generated: make gclk determine audio_pll rate
- clk: at91: clk-generated: create function to find best_diff
- clk: at91: add audio pll clock drivers
- dt-bindings: clk: at91: add audio plls to the compatible list
- clk: at91: clk-generated: remove useless divisor loop
- mmc: sdhci-of-at91: set clocks and presets after resume from deepest PM
- mmc: sdhci-of-at91: factor out clks and presets setting
- Input: axp20x-pek – add support for AXP221 PEK
- Input: axp20x-pek – use driver_data of platform_device_id instead of extended attributes
- phy: allwinner: phy-sun4i-usb: Add log when probing
- Miquel Raynal (1)