Linux 6.9 was released last Sunday, and as usual we refer our readers to the excellent LWN.net coverage of the Linux 6.9 merge window (part 1 and part 2) to get a good overall picture of the improvements and new features brought by this release.
On our side, we contributed a total of 119 commits authored by Bootlin engineers, but we also merged a total of 95 patches from other contributors, as several Bootlin engineers as also maintainers of various drivers/subsystems in the Linux kernel.
Here is the highlight of our contributions:
- Alexandre Belloni, as the RTC subsystem maintainer, submitted a number of improvements to various RTC drivers, with a particular focus on the rtc-ds1511 driver
- Alexis Lothoré continued his work on the wilc1000 Wireless driver, for the Microchip ATWILC1000 chip. Alexis is going through a significant backlog of out-of-tree patches, to bring the mainline driver on par with the vendor driver
- Grégory Clement contributed the initial support for the Mobileye EyeQ5 processor, used in autonomous driving applications
- Hervé Codina, after submitting in Linux 6.8 a new WAN framer subsystem in Linux 6.8, he contributed drivers/net/wan/fsl_qmc_hdlc.c a new WAN driver to perform HDLC using the PowerPC QMC hardware block, as well as a sound/soc/codecs/framer-codec.c, which is an ASoC codec driver that works on top of the WAN framer subsystem
- Hervé also contributed some fixes to the devlink mechanism
- Jérémie Dautheribes contributed some improvements to the TI drivers/net/phy/dp83822.c Ethernet PHY driver
- Köry Maincent changed the PTP subsystem to use the XArray data structure instead of simple IDA, and contributed a fix to the Linux kernel regulator subsystem, in preparation for his work on PoE
- Luca Ceresoli contributed new trace events in the ASoC subsystem, fixed a bug in the I2S driver for Rockchip platforms, and fixed some description text in a Device Tree Binding
- Louis Chauvet fixed an issue in the Xilinx XDMA dmaengine driver
- Maxime Chevallier contributed documentation fixes in the phylink subsystem
- Michael Opdenacker marked ext2 as a deprecated driver
- Miquèl Raynal contributed some fixes to his implementation of continuous read support for parallel NAND, and also some fixes to the same Xilinx XDMA dmaengine driver as Louis Chauvet
- Richard Genoud arrived at Bootlin, and updated his mailmap entry
- Thomas Richard continued his work on suspend/resume support on TI K3 platforms
- Last but not least Théo Lebrun is for this release our biggest contributor, with 46 patches. All his work is centered around enabling support for Mobileye EyeQ processors, with a focusing on pinctrl, I2C, SPI and GPIO. The SPI controller used is from Cadence, the I2C and GPIO blocks are the same as the ones available on Nomadik SoCs, so Théo mostly improved/extended those drivers to support the Mobileye EyeQ case.
Here is the complete details of our contributions:
- Alexandre Belloni (16):
- rtc: ds1511: drop useless checks
- rtc: ds1511: drop useless computation
- rtc: ds1511: drop dead code
- rtc: ds1511: drop useless enum
- rtc: ds1511: fix function definition
- rtc: ds1511: remove incomplete UIE support
- rtc: ds1511: remove ds1511_rtc_update_alarm
- rtc: ds1511: let the core know when alarm are not supported
- rtc: ds1511: remove partial alarm support
- rtc: ds1511: implement ds1511_rtc_read_alarm properly
- rtc: ds1511: rename pdata
- rtc: ds1511: drop inline/noinline hints
- rtc: ds1511: set range
- rtc: ds1511: set alarm offset limit
- rtc: pcf8523: add suspend handlers for alarm IRQ
- rtc: nct3018y: fix possible NULL dereference
- Alexis Lothoré (9):
- wifi: wilc1000: fix declarations ordering
- wifi: wilc1000: fix RCU usage in connect path
- wifi: wilc1000: prevent use-after-free on vif when cleaning up all interfaces
- wifi: wilc1000: split deeply nested RCU list traversal in dedicated helper
- wifi: wilc1000: use SRCU instead of RCU for vif list traversal
- wifi: wilc1000: fix declarations ordering
- wifi: nl80211: force WLAN_AKM_SUITE_SAE in big endian in NL80211_CMD_EXTERNAL_AUTH
- wifi: wilc1000: remove AKM suite be32 conversion for external auth request
- wifi: wilc1000: revert reset line logic flip
- Gregory CLEMENT (12):
- MIPS: spaces: Define a couple of handy macros
- MIPS: traps: Give more explanations if ebase doesn’t belong to KSEG0
- MIPS: cps-vec: Use macros for 64bits access
- dt-bindings: Add vendor prefix for Mobileye Vision Technologies Ltd.
- dt-bindings: mips: cpus: Sort the entries
- dt-bindings: mips: cpu: Add I-Class I6500 Multiprocessor Core
- dt-bindings: mips: Add bindings for Mobileye SoCs
- MIPS: mobileye: Add EyeQ5 dtsi
- MIPS: mobileye: Add EPM5 device tree
- MIPS: Share generic kernel code with other architecture
- MIPS: Add support for Mobileye EyeQ5
- MAINTAINERS: Add entry for Mobileye MIPS SoCs
- Herve Codina (10):
- ASoC: codecs: Add support for the framer codec
- net: wan: Add support for QMC HDLC
- MAINTAINERS: Add the Freescale QMC HDLC driver entry
- net: wan: fsl_qmc_hdlc: Add runtime timeslots changes support
- net: wan: fsl_qmc_hdlc: Add framer support
- net: wan: fsl_qmc_hdlc: Fix module compilation
- lib/bitmap: Fix bitmap_scatter() and bitmap_gather() kernel doc
- driver core: Introduce device_link_wait_removal()
- of: dynamic: Synchronize of_changeset_destroy() with the devlink removals
- net: wan: framer: Add missing static inline qualifiers
- Jérémie Dautheribes (4):
- Kory Maincent (2):
- Louis Chauvet (1):
- Luca Ceresoli (4):
- Maxime Chevallier (2):
- Michael Opdenacker (1):
- Miquel Raynal (7):
- mtd: rawnand: Fix and simplify again the continuous read derivations
- mtd: rawnand: Add a helper for calculating a page index
- mtd: rawnand: Ensure all continuous terms are always in sync
- mtd: rawnand: Constrain even more when continuous reads are enabled
- mtd: rawnand: Ensure continuous reads are well disabled
- dmaengine: xilinx: xdma: Fix wrong offsets in the buffers addresses in dma descriptor
- dmaengine: xilinx: xdma: Clarify kdoc in XDMA driver
- Richard Genoud (1):
- Thomas Richard (2):
- Théo Lebrun (46):
- spi: cadence-qspi: assert each subnode flash CS is valid
- spi: cadence-qspi: set maximum chip-select to 4
- spi: cadence-qspi: report correct number of chip-select
- clk: fixed-factor: add optional accuracy support
- clk: fixed-factor: add fwname-based constructor functions
- dt-bindings: clock: mobileye,eyeq5-clk: add bindings
- dt-bindings: reset: mobileye,eyeq5-reset: add bindings
- spi: spi-mem: add statistics support to ->exec_op() calls
- dt-bindings: pinctrl: mobileye,eyeq5-pinctrl: add bindings
- dt-bindings: gpio: nomadik: convert into yaml format
- dt-bindings: gpio: nomadik: add optional ngpios property
- dt-bindings: gpio: nomadik: add mobileye,eyeq5-gpio compatible
- dt-bindings: gpio: nomadik: add optional reset property
- gpio: nomadik: fix offset bug in nmk_pmx_set()
- gpio: nomadik: extract GPIO platform driver from drivers/pinctrl/nomadik/
- pinctrl: nomadik: Kconfig: allow building with COMPILE_TEST
- pinctrl: nomadik: fix build warning (-Wformat)
- pinctrl: nomadik: fix build warning (-Wpointer-to-int-cast)
- pinctrl: nomadik: minimise indentation in probe
- pinctrl: nomadik: follow type-system kernel coding conventions
- pinctrl: nomadik: follow whitespace kernel coding conventions
- pinctrl: nomadik: follow conditional kernel coding conventions
- gpio: nomadik: add #include
- gpio: nomadik: replace of_find_*() by bus_find_device_by_of_node()
- gpio: nomadik: replace of_property_read_*() by device_property_read_*()
- gpio: nomadik: use devm_platform_ioremap_resource() helper
- gpio: nomadik: use devres version of clk_get*()
- gpio: nomadik: request dynamic ID allocation
- gpio: nomadik: make clock optional
- gpio: nomadik: change driver name from gpio to nomadik-gpio
- gpio: nomadik: support shared GPIO IRQs
- gpio: nomadik: handle variadic GPIO count
- gpio: nomadik: support mobileye,eyeq5-gpio
- gpio: nomadik: grab optional reset control and deassert it at probe
- gpio: nomadik: fix Kconfig dependencies inbetween pinctrl & GPIO
- dt-bindings: hwmon: lm75: use common hwmon schema
- pinctrl: nomadik: fix dereference of error pointer
- dt-bindings: i2c: nomadik: add mobileye,eyeq5-i2c bindings and example
- i2c: nomadik: rename private struct pointers from dev to priv
- i2c: nomadik: simplify IRQ masking logic
- i2c: nomadik: use bitops helpers
- i2c: nomadik: support short xfer timeouts using waitqueue & hrtimer
- i2c: nomadik: replace jiffies by ktime for FIFO flushing timeout
- i2c: nomadik: fetch i2c-transfer-timeout-us property from devicetree
- i2c: nomadik: support Mobileye EyeQ5 I2C controller
- i2c: nomadik: sort includes