BayLibre contributions to Linux v6.14

Linus released Linux 6.14 on March 24, 2025. Once more, BayLibre was a significant contributor to the Linux kernel. Here are some of the areas we worked on.

PM Domains

Kevin Hilman introduced new features to the TI SCI PM domains driver to handle low power constraints. Any drivers which have set PM QoS constraints will have these constraints communicated to the low-power firmware such that the firmware can make an informed decision about the low-power state chosen. This enhancement includes handling wake IRQs for IO daisy chain wakeups, adding wakeup constraint management, and implementing per-device latency constraint management.

Kevin also continues to maintain legacy OMAP SoCs where various cleanups and new features keep coming in. As the maintainer, he reviewed, applied, and committed several important patches from the community addressing DTS issues for TI platforms, fixing PM issues caused by SPI modules, correcting IRQ configuration on Nokia 770, and improving bus and interrupt-related functionality.

IIO

Uwe Kleine-König made significant improvements to the AD7124 driver and the supporting sigma-delta framework. He implemented temperature measurement in the AD7124 driver, improved error reporting during probe, fixed multiple race conditions in the ad_sigma_delta framework, added support for reading IRQ status using a GPIO, and implemented better device tree validation.

David Lechner continued the initiative to use the new devm_regulator_get_enable_read_voltage() helper function across multiple DAC drivers. He converted the max5821, ltc2688, ltc2632, ad8801, and ad5686 drivers to use this function. Additionally, David fixed struct names in documentation comments, removed unused fields, and improved ABI documentation.

Angelo Dureghello worked on bug fixes for the AD3552R DAC and AD7606 ADC drivers. He corrected the wrong scale value in the AD7606 driver, fixed PWM names in ADI AXI ADC device tree bindings, addressed the reset status flag issue in the AD3552R driver, and fixed the ad3541/2r DAC ranges. These fixes were necessary groundwork for upcoming features in the next kernel release.

David Lechner also improved the IIO framework by combining current input sections in the IIO ABI, using channel number ‘Y’ consistently, converting DMA bindings to YAML schema, and improving documentation.

PWM

Working on the PWM framework, Uwe Kleine-König made several improvements including ensuring callbacks exist before calling them and converting PWM device tree bindings from text to YAML format. He handled the PWM subsystem’s review and maintenance as usual.

Kernel Infrastructure

Uwe Kleine-König worked on improving module symbol namespaces by fixing actual usage of I2C_DW_COMMON and I2C_DW symbol namespaces in the Designware I2C driver, improving usage of the HWMON_NCT6775 symbol namespace, and updating documentation for DEFAULT_SYMBOL_NAMESPACE.

Additionally, Uwe addressed GPL compliance issues, which was covered by LWN. By creating a patch to add a potential GPL offender to the block list, the company was incentivized to fix their issues quickly, avoiding being added to the mainline block list.

IRQ Chip Support

Guillaume La Roque added module build support for ti-sci-inta and ti-sci-intr. This work was done for Android context, where GKI (Generic Kernel Image) support requires SoC drivers to be modular instead of built-in.

Summary

Type Count
Authored 68
Signed-off-by 3
Acked-by 4
Reviewed-by 17
Tested-by 3
Suggested-by 3

List of contributions

Hash Subject Role Person
45d5fe1c53ba ARM: davinci: da850: fix selecting ARCH_DAVINCI_DA8XX Author David Lechner
5d702aa2a47b iio: proximity: Fix use-after-free in hx9023s_send_cfg() reviewed-by David Lechner
012b8276f08a iio: dac: ad3552r-hs: clear reset status flag reviewed-by David Lechner
1e758b613212 iio: dac: ad3552r-common: fix ad3541/2r ranges reviewed-by David Lechner
577a66e2e634 iio: iio-mux: kzalloc instead of devm_kzalloc to ensure page alignment reviewed-by David Lechner
bed883e4f040 iio: adc: ad7944: Fix sign and use aligned_s64 for timestamp. reviewed-by David Lechner
b5fd1849c684 iio: ABI: combine current input sections Author David Lechner
84b6b55584d2 iio: dac: ad7293: enable power before reset Author David Lechner
6ade82946f4c iio: ABI: use Y consistently as channel number Author David Lechner
06d5363296db dt-bindings: dma: adi,axi-dmac: deprecate adi,channels node Author David Lechner
788726fcea1f dt-bindings: dma: adi,axi-dmac: convert to yaml schema Author David Lechner
c3948d090080 iio: adc: ad4000: Add support for PulSAR devices reviewed-by David Lechner
fc8f63009549 iio: adc: ad4000: Use device specific timing for SPI transfers reviewed-by David Lechner
646acd46fc90 iio: adc: ad4000: Add timestamp channel suggested-by reviewed-by David Lechner
c437190ceaaa iio: trigger: stm32-timer-trigger: Add check for clk_enable() reviewed-by David Lechner
cb3e9a446763 iio: adc: ad_sigma_delta: add tab to align irq_line Author David Lechner
a05dc8b4d4aa iio: buffer-dmaengine: document iio_dmaengine_buffer_setup_ext Author David Lechner
2d6941932974 dt-bindings: iio: adc: adi,ad4695: change include path Author David Lechner
435004291c9a iio: adc: ad4695: move dt-bindings header Author David Lechner
9598866317fc iio: dac: max5821: use devm_regulator_get_enable_read_voltage() Author David Lechner
6f0588607864 iio: dac: ltc2688: use devm_regulator_get_enable_read_voltage() Author David Lechner
3ebb535f4f92 iio: dac ltc2632: drop driver remove function Author David Lechner
c15031ef6ef3 iio: dac: ltc2632: use devm_regulator_get_enable_read_voltage() Author David Lechner
276821d1e04c iio: dac ad8801: drop driver remove function Author David Lechner
451bdc1dc9cb iio: dac: ad8801: use devm_regulator_get_enable_read_voltage() Author David Lechner
6c009e55924a iio: dac: ad5686: use devm_regulator_get_enable_read_voltage() Author David Lechner
f596651dd6be iio: dac: ad5686: fix struct name in doc comment Author David Lechner
d6d9c45c90ef iio: dac: ad5624r: fix struct name in doc comment Author David Lechner
83f616a38427 iio: adc: ad7173: remove unused field Author David Lechner
b28fb1f2ef45 modpost: Fix a few typos in a comment Author Uwe Kleine-König
c8e0bd579ed3 module: Put known GPL offenders in an array Author Uwe Kleine-König
da6b35378699 pwm: Ensure callbacks exist before calling them Author Uwe Kleine-König
752b6e3af374 pwm: microchip-core: fix incorrect comparison with max period Committer Uwe Kleine-König
e8c59791ebb6 pwm: stm32: Add check for clk_enable() Committer Uwe Kleine-König
f0a4e9fa656c i2c: designware: Actually make use of the I2C_DW_COMMON and I2C_DW symbol namespaces Author Uwe Kleine-König
3c838184407f gpio: altera: Drop .mapped_irq from driver data Author Uwe Kleine-König
fcf22a957ff8 doc: module: DEFAULT_SYMBOL_NAMESPACE must be defined before #includes Author Uwe Kleine-König
3008178ef371 doc: module: Fix documented type of namespace Author Uwe Kleine-König
78dcad6daa40 dt-bindings: pwm: Correct indentation and style in DTS example Committer Uwe Kleine-König
f5ab868af55f iio: adc: ad7625: Add ending newlines to error messages Author Uwe Kleine-König
e439c72499a0 iio: adc: ad_sigma_delta: Use unsigned int instead of plain unsigned Author Uwe Kleine-König
cce16e7f6216 pwm: stm32-lp: Add check for clk_enable() Committer Uwe Kleine-König
4ccf7e3553fe dt-bindings: pwm: marvell,berlin-pwm: Convert from txt to yaml Author Uwe Kleine-König
a0b67429fc41 dt-bindings: pwm: sprd,ums512-pwm: convert to YAML Committer Uwe Kleine-König
10435e0d2377 pwm: Replace deprecated PCI functions Committer Uwe Kleine-König
e490ceff433f spi: spidev: Align ordering of spidev_spi_ids[] and spidev_dt_ids[] Author Uwe Kleine-König
d5f9e83ca631 ARM: dts: socfpga_cyclone5_mcvevk: Drop unused #address-cells/#size-cells Author Uwe Kleine-König
a4ea3e41befd hwmon: (isl28022) Drop explicit initialization of struct i2c_device_id::driver_data to 0 Author Uwe Kleine-König
2505f87eb3af hwmon: (nct6775): Actually make use of the HWMON_NCT6775 symbol namespace Author Uwe Kleine-König
b690f5d955e0 drm: Drop explicit initialization of struct i2c_device_id::driver_data to 0 Author Uwe Kleine-König
6eaf3f60ab45 iio: adc: ad7124: Implement temperature measurement Author Uwe Kleine-König
abc61acde13c iio: adc: ad7124: Add error reporting during probe Author Uwe Kleine-König
132d44dc6966 iio: adc: ad_sigma_delta: Check for previous ready signals Author Uwe Kleine-König
07a28874bb49 iio: adc: ad_sigma_delta: Store information about reset sequence length Author Uwe Kleine-König
f522589c139d iio: adc: ad_sigma_delta: Fix a race condition Author Uwe Kleine-König
90b8b2fe60eb iio: adc: ad_sigma_delta: Handle CS assertion as intended in ad_sd_read_reg_raw() Author Uwe Kleine-König
a87ef09b1fdf iio: adc: ad_sigma_delta: Add support for reading irq status using a GPIO Author Uwe Kleine-König
fa6068fb7828 dt-bindings: iio: adc: adi,ad7{124,173,192,780}: Allow specifications of a gpio for irq line Author Uwe Kleine-König
9ecad7f404b5 iio: adc: ad7124: Refuse invalid input specifiers Author Uwe Kleine-König
cc597af18092 iio: adc: ad7124: Don’t create more channels than the driver can handle Author Uwe Kleine-König
7041ed0dde83 extcon: Drop explicit initialization of struct i2c_device_id::driver_data to 0 Author Uwe Kleine-König
b32913a5609a ptp: Switch back to struct platform_driver::remove() Author Uwe Kleine-König
8359ea9c1195 ASoC: Drop explicit initialization of struct i2c_device_id::driver_data to 0 Author Uwe Kleine-König
35e21de48e69 regulator: core: let dt properties override driver init_data Author Jerome Brunet
72bb8275a3b0 reset: amlogic: aux: drop aux registration helper Author Jerome Brunet
ccfba09ceecc reset: amlogic: aux: get regmap through parent device Author Jerome Brunet
e436d4355176 ASoC: dapm: add support for preparing streams suggested-by reviewed-by Jerome Brunet
d4e91adfc261 ASoC: soc-dai: add snd_soc_dai_prepare() and use it internally suggested-by reviewed-by Jerome Brunet
339bca4ffdaa hwmon: (pmbus/tps25990) Add initial support Author Jerome Brunet
83bed3c159f4 hwmon: (pmbus/core) add wp module param Author Jerome Brunet
f40452577557 hwmon: (pmbus/core) improve handling of write protected regulators Author Jerome Brunet
bead181694df iio: adc: ad7606: fix wrong scale available Author Angelo Dureghello
02ccd7e5d81a dt-bindings: iio: dac: adi-axi-adc: fix ad7606 pwm-names Author Angelo Dureghello
e17b9f20da7d iio: dac: ad3552r: clear reset status flag Author Angelo Dureghello
012b8276f08a iio: dac: ad3552r-hs: clear reset status flag Author Angelo Dureghello
1e758b613212 iio: dac: ad3552r-common: fix ad3541/2r ranges Author Angelo Dureghello
90b8b2fe60eb iio: adc: ad_sigma_delta: Handle CS assertion as intended in ad_sd_read_reg_raw() reviewed-by Trevor Gamblin
b8b26ae398c4 irqchip/ti-sci-inta : Add module build support Author Nicolas Frayer
2d95ffaecbc2 irqchip/ti-sci-intr: Add module build support Author Nicolas Frayer
b5fc9453651d pmdomain: ti_sci: add per-device latency constraint management reviewed-by Markus Schneider-Pargmann
dd504db5cd4a ARM: dts: ti/omap: omap3-gta04: use proper touchscreen properties Committer Kevin Hilman
3623e1024efc ARM: dts: ti: am437x-l4: remove autoidle for UART Committer Kevin Hilman
0cfbd7805fe1 ARM: dts: ti/omap: gta04: fix pm issues caused by spi module Committer Kevin Hilman
ad455e48bba7 ARM: omap1: Fix up the Retu IRQ on Nokia 770 Committer Kevin Hilman
643cc5ca01ce ARM: omap2plus_defconfig: enable charger of TWL603X Committer Kevin Hilman
b06bc4727991 pmdomain: ti_sci: handle wake IRQs for IO daisy chain wakeups Author Kevin Hilman
9d8aa0dd3be4 pmdomain: ti_sci: add wakeup constraint management Author Kevin Hilman
b5fc9453651d pmdomain: ti_sci: add per-device latency constraint management Author Kevin Hilman
c1472ec1dc44 ARM: dts: dra7: Add bus_dma_limit for l4 cfg bus Committer Kevin Hilman
19ee9e4cded4 ARM: OMAP2+: Fix a typo Committer Kevin Hilman
3623e1024efc ARM: dts: ti: am437x-l4: remove autoidle for UART reviewed-by Sukrut Bellary
0fb0d3602181 arm64: dts: mediatek: mt8516: add keypad node reviewed-by Mattijs Korpershoek
6139d9e9e397 arm64: dts: mediatek: add per-SoC compatibles for keypad nodes reviewed-by Mattijs Korpershoek
3b19239ad420 dt-bindings: mediatek,mt6779-keypad: add more compatibles reviewed-by Mattijs Korpershoek
c969c1e56264 dt-bindings: iio: dac: ad5791: ldac gpio is active low Author Axel Haslam
954c06ddabb0 iio: adc: ad7606: Fix hardcoded offset in the ADC channels Author Guillaume Stols
4d112ebd02d1 iio: adc: ad-sigma-delta: Document ABI for sigma delta adc Author Guillaume Ranquet
031bdc8aee01 iio: adc: ad7173: add calibration support Author Guillaume Ranquet