Linux 6.17 was released a bit over a week ago, and as usual LWN.net gave the best summary of the new features and important changes in this release: part 1, part 2.
As usual, Bootlin contributed to this kernel, with a total of 98 patches authored by Bootlin engineers, but also another 94 patches that were reviewed/merged by Bootlin engineers, mostly by Alexandre Belloni (RTC and I3C maintainer, reviewed/merged 58 patches), Miquèl Raynal (MTD co-maintainer, reviewed/merged 20 patches) and Grégory Clement (Marvell EBU platform maintainer, reviewed/merged 8 patches).
Regarding our own contributions, the main highlights are:
- As the RTC maintainer, Alexandre Belloni did a small cleanup in the PCF85063 RTC driver, improving the scoping of internal configuration structures.
- Alexis Lothoré, working through the eBPF Foundation, improved eBPF support on ARM64, by removing stack constraints in the BPF JIT implementation and enabling additional tracing_struct selftests for this architecture.
- Bastien Curutchet contributed a fix to the OMAP2 McSPI driver, ensuring the SPI clock signal is driven correctly during setup.
- Benoît Monin made good progress on Mobileye EyeQ platform support in the MIPS architecture: he added eMMC controller support for both EyeQ5 and EyeQ6H SoCs, extended the Cadence SDHCI driver to support these platforms, updated the Device Tree bindings, and refreshed the default configurations accordingly.
- Grégory Clement enhanced the MIPS architecture, refining the cluster CPU bring-up code, optimizing CPU calibration for SMP systems, and improving hardware feature detection by disabling unsupported MMID functionality.
- Kory Maincent contributed extensively in two areas:
- As part of this work with Texas Instruments, he added support for new BeagleBone Green Eco board, based on the TI AM335x processor, and its TPS65219 PMIC.
- As part of his work with the Dent Project, he greatly extended the PSE framework used for Power over Ethernet support, adding support for power domains, event reporting, port priorities, budget evaluation strategies, and new features in pd692x0 and tps23881 drivers. This marks a major functional expansion of the Linux PSE subsystem.
- Louis Chauvet improved the VKMS (Virtual Kernel Mode Setting) driver by documenting new pixel formats and adding support for the 16-bit ARGB and R* formats, while also exporting DRM symbols for testing.
- Luca Ceresoli continued his large-scale refactoring effort in the DRM bridge subsystem. In 6.17, he converted all bridge drivers to use the new
devm_drm_bridge_alloc()
API, introduced KUnit tests, and added mechanisms to detect non-converted bridges. These changes are paving the road to the long-term goal of making DRM bridges hot-pluggable. - Miquèl Raynal focused on the SPI and SPI-NAND subsystems, improving timing accuracy in spi-mem, adding frequency awareness in operation handling, introducing a chip configuration hook, and enabling high-speed read modes for Winbond SPI-NAND devices. He also described SPI NAND support in the TI AM62A7 device tree.
- Olivier Benjamin improved PinePhone Pro mainline support by updating and extending the camera descriptions (IMX258 and OV8858) in both the Rockchip device tree and Device Tree bindings, enabling better integration of its front and rear cameras.
- Romain Gantois contributed two important regulator core fixes, improving voltage setting convergence and handling of stepped regulators, ensuring more robust regulator behavior across devices.
- Thomas Richard contributed assorted platform and pinctrl updates, including the use of the new
devm_pinctrl_register_mappings()
helper in multiple drivers, and added watchdog support for NXP i.MX8QM platforms. - Théo Lebrun continued extending Mobileye EyeQ5 platform support, adding I²C and GPIO controllers and related devicetree nodes, along with corresponding updates in the EyeQ5 defconfig. Those build on top of past driver changes, making features available on the evaluation board by default.
And the complete details, commit by commit:
- Alexandre Belloni (1):
- Alexis Lothoré (eBPF Foundation) (2):
- Bastien Curutchet (Schneider Electric) (1):
- Benoît Monin (8):
- dt-bindings: mmc: cdns: add Mobileye EyeQ MMC/SDHCI controller
- mmc: sdhci-cadence: add Mobileye eyeQ support
- MIPS: mobileye: dts: eyeq6h: add the emmc controller
- MIPS: eyeq6_defconfig: add cadence MMC/SDHCI driver
- MIPS: mobileye: dts: eyeq5: add the emmc controller
- MIPS: eyeq5_defconfig: add cadence MMC/SDHCI driver
- mmc: sdhci-cadence: use of_property_present
- MIPS: mobileye: dts: eyeq5,eyeq6h: rename the emmc controller
- Gregory CLEMENT (3):
- Kory Maincent (11):
- net: pse-pd: Fix ethnl_pse_send_ntf() stub parameter type
- ethtool: pse-pd: Add missing linux/export.h include
- dt-bindings: pse: tps23881: Clarify channels property description
- net: pse-pd: tps23881: Clarify setup_pi_matrix callback documentation
- arm: dts: omap: am335x-bone-common: Rename tps to generic pmic node
- dt-bindings: omap: Add Seeed BeagleBone Green Eco
- arm: dts: omap: Add support for BeagleBone Green Eco board
- arm: omap2plus_defconfig: Enable TPS65219 regulator
- arm: multi_v7_defconfig: Enable TPS65219 regulator
- net: pse-pd: pd692x0: Fix power budget leak in manager setup error path
- net: pse-pd: pd692x0: Skip power budget configuration when undefined
- Kory Maincent (Dent Project) (13):
- net: pse-pd: Introduce attached_phydev to pse control
- net: pse-pd: Add support for reporting events
- net: pse-pd: tps23881: Add support for PSE events and interrupts
- net: pse-pd: Add support for PSE power domains
- net: ethtool: Add support for new power domains index description
- net: pse-pd: Add helper to report hardware enable status of the PI
- net: pse-pd: Add support for budget evaluation strategies
- net: ethtool: Add PSE port priority support feature
- net: pse-pd: pd692x0: Add support for PSE PI priority feature
- net: pse-pd: pd692x0: Add support for controller and manager power supplies
- dt-bindings: net: pse-pd: microchip,pd692x0: Add manager regulator supply
- net: pse-pd: tps23881: Add support for static port priority feature
- dt-bindings: net: pse-pd: ti,tps23881: Add interrupt description
- Louis Chauvet (3):
- Luca Ceresoli (31):
- drm/bridge: anx7625: convert to devm_drm_bridge_alloc() API
- drm/bridge: cdns-dsi: convert to devm_drm_bridge_alloc() API
- drm/bridge: megachips-stdpxxxx-ge-b850v3-fw: convert to devm_drm_bridge_alloc() API
- drm/bridge: nxp-ptn3460: convert to devm_drm_bridge_alloc() API
- drm/bridge: sii902x: convert to devm_drm_bridge_alloc() API
- drm/omap: dss: dpi: convert to devm_drm_bridge_alloc() API
- drm/omap: dss: dsi: convert to devm_drm_bridge_alloc() API
- drm/omap: dss: hdmi4: convert to devm_drm_bridge_alloc() API
- drm/omap: dss: hdmi5: convert to devm_drm_bridge_alloc() API
- drm/omap: dss: sdi: convert to devm_drm_bridge_alloc() API
- drm/omap: dss: venc: convert to devm_drm_bridge_alloc() API
- drm/rcar-du: dsi: convert to devm_drm_bridge_alloc() API
- drm/bridge: stm_lvds: convert to devm_drm_bridge_alloc() API
- drm/sti: dvo: convert to devm_drm_bridge_alloc() API
- drm: zynqmp_dp: convert to devm_drm_bridge_alloc() API
- drm/bridge: add devm_drm_put_bridge()
- drm/bridge: panel: convert to devm_drm_bridge_alloc() API
- drm/bridge: fix build with CONFIG_OF=n
- drm: convert many bridge drivers from devm_kzalloc() to devm_drm_bridge_alloc() API
- drm/todo: add entry to remove devm_drm_put_bridge()
- drm/bridge: imx8qxp-pixel-combiner: convert to devm_drm_bridge_alloc() API
- drm/tests: bridge: convert to devm_drm_bridge_alloc() API
- drm/bridge: add a .destroy func
- drm/tests: bridge: add KUnit tests for devm_drm_bridge_alloc()
- drm/bridge: tc358767: convert to devm_drm_bridge_alloc() API
- drm/bridge: get/put the bridge reference in drm_bridge_add/remove()
- drm/bridge: get/put the bridge reference in drm_bridge_attach/detach()
- drm/bridge: add warning for bridges not using devm_drm_bridge_alloc()
- drm/bridge: tc358767: fix uninitialized variable regression
- drm/sti: hdmi: convert to devm_drm_bridge_alloc() API
- drm/sti: hda: convert to devm_drm_bridge_alloc() API
- Miquel Raynal (10):
- arm64: dts: ti: k3-am62a7-sk: Describe the SPI NAND
- spi: spi-mem: Use picoseconds for calculating the op durations
- spi: spi-mem: Take into account the actual maximum frequency
- mtd: spinand: Fix macro alignment
- mtd: spinand: Add a frequency field to all READ_FROM_CACHE variants
- mtd: spinand: Add a ->configure_chip() hook
- mtd: spinand: winbond: Enable high-speed modes on w25n0xjw
- mtd: spinand: winbond: Enable high-speed modes on w35n0xjw
- mtd: spinand: winbond: Add comment about the maximum frequency
- spi: spi-mem: Add missing kdoc argument
- Olivier Benjamin (5):
- arm64: dts: rockchip: Update the PinePhone Pro panel description
- dt-bindings: media: ov8858: inherit video-interface-devices properties
- dt-bindings: media: imx258: inherit video-interface-devices properties
- arm64: dts: rockchip: describe I2c Bus 1 and IMX258 world camera on PinePhone Pro
- arm64: dts: rockchip: describe the OV8858 user camera on PinePhone Pro
- Romain Gantois (2):
- Thomas Richard (3):
- Théo Lebrun (6):
- MIPS: eyeq5_defconfig: Update for v6.16-rc1
- MIPS: mobileye: eyeq5: add 5 I2C controller nodes
- MIPS: mobileye: eyeq5: add evaluation board I2C temp sensor
- MIPS: mobileye: eyeq5: add two GPIO bank nodes
- MIPS: eyeq5_defconfig: add GPIO subsystem & driver
- MIPS: eyeq5_defconfig: add I2C subsystem, driver and temp sensor driver