linux/drivers/iio/buffer
Greg Kroah-Hartman 049094c887 IIO: 1st set of fixes for the 7.3 cycle.
A couple of core fixes, the rest usual mix of driver issues that surfaced
 from merge window until now.
 
 core
 - buffer: Ensure that when using the iio_push_to_buffers_with_ts_unaligned()
   that the full buffer is zeroed.
 - trigger: Cancel reenable_work() before freeing the trigger that might be
   re-enabled.
 dma-buffer
 - Fix wrong sizing for a mapped sg_list.  If an IOMMU was using a fused
   entry the mapping might walk off the end.
 
 adi,ade9000
 - Wait for power up before requesting interrupts.
 - Fix overlap in scan index for current and voltage channels.
 - Ensure Phase C dip event included in IRQ1 handler.
 adi,adf4377
 - Initialize all of a clk_init_data.
 adi,adis*
 - Ensure debugfs reads are finished before unbind.
 adi,axi-adc
 - Initialize mutex.
 adi,admv1013
 - Ensure mutex is intialized before notifier that might use it is
   registered.
 - Fix wrong channel field used for read_raw.
 allwinner,sun4i
 - Drop a pm_runtime_put() when there was no get.
 - Ensure correct cleanup on driver probe fail due to any issues with
   the thermal zone.
 aspeed,adc,
 - Don't eat reset deassert errors.
 awinic,aw96103
 - Make sure firmware length is validated rather than blindly trusting
   it.
 bosch,bmp280
 - Fix out of bounds lookup of sampling frequency due to indexing based on
   elements in matrix rather than just the correct dimension.
 invensense,timestamp library
 - Ensure time estimate doesn't invert wrt to current time in a corner
   case occasionally seen.
 kionix,kx022a
 - Off by one in array boundary check.
 - Close a memory leak and state corruption in error path.
 maxim,max1363
 - Sign extend bipolar values to ensure correct reporting to userspace.
 maxim,max30102
 - Fix NULL dereference by checking there is data in the FIFO before
   trying to do anything with it.
 microchip,mcp47a1
 - Ensure highest possible value actually settable.
 pulsed-light,lidar-lite
 - Don't leak the IIO device registration if runtime pm setup fails
   particularly as it was being freed.
 rockchip,saradc
 - Fix wrong fallback compatible for rv1106 that lead to trying
   to use too many channels (correct support will follow next
   merge window)
 rohm,bd79124
 - Correct limit used for rising alarms.
 - Fix which registers related to limits are used in initialization.
 - Apply GPIO mask to allow subset of GPIOs to be toggled.
 - Add missing regmap error handling in a few places.
 - Ensures scale is read only.
 rohm,bm1390
 - Don't silently eat a data read error.
 rohm,bu27034
 - Don't silently eat error when reading gain.
 - Ensure we infinite delay doesn't happen on error.
 semtech,sx9324
 - Fix wrong proximity channel resolution.
 sharp,gp2ap020a00f
 - Make sure to drain irq_work in remove path.
 st,vl5310x
 - Ensure direct mode is claimed for read_raw avoiding corruption
   of buffered accesses.
 vishay,vcnl3020
 - Use write bits for ISR mask and ensure right event reported.
 vti,sca3000
 - Fix up a condition check for the frequency divider.
 xilinx,xadc
 - Swap registration of cleanup of work with that of irq
   to ensure that no irqs can cause work that has been freed
   to be queued.
 x-powers,axp288
 - Add bias override quirk for Haier HV103H.  Fix because we
   used to always override then moved to trusting the firmware
   setup - which fixed some boards, but broke others.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEbilms4eEBlKRJoGxVIU0mcT0FogFAmqjNCIRHGppYzIzQGtl
 cm5lbC5vcmcACgkQVIU0mcT0FohFeA//apYJFiljUxBhFP1nxlsvOgYVmz2ovOR7
 OdG+0smJdWTFM2b8Pu5MA8b/ls48mjyJHCueqe+OP8e7xGhiT0jFObzrJRHomJ72
 66XmAE/X3cYC6BPChtU6fn65CnxrHZWhBVzEsO2CxQ8MM5nbhQsl+XjgUG3jCach
 DcZIdJAstgi8Ao3ju364saj9k9o3DF5IwHW5Y0bIq3H50X67oEOBo5vfIcFUjnYj
 RZHzvmwBnt9ar5ivKPPrIqv0j0OccRvCzp6X6A1IO8aeHJe2Ow+IOqFGJhxPYydr
 YHKo5cJZtxYK4Re6eFqATPe7boKuJJIxhU5wimT10pLKA38bBbqQlSoq9P/vvCrW
 MLCcRE83pHwS0vxjiJWfeZVdkfQmDnNtpBXoiCvk6iucsoXg3rniuzC3RG9iUiMx
 Xr1DiQ5QRJdQrSRCWqfJpQDnMrAJoXk9dDc1e1LFyKKPjvsI0jZJdfmsCdf8MNHS
 ssC7XHaLMpqIHYMsASFQLOoO1Bw6khcyxLeAVFxwNWQmVIOnQvbB9Jv7WxmR5nse
 CuC1NKgpnaKvH/vQYgCNWOP8TVAaLu3iUuLx6Q6zzS8MmnjkvsEn8zeQI31pKtun
 6rdG9gC/pA2qsu0Kt0uwMKuGVQNF1qTT4Sf3ZYQhoJ9iYW7liQFytz4ooptjszNM
 IDv8BGnVT7c=
 =gbfP
 -----END PGP SIGNATURE-----

Merge tag 'iio-fixes-for-7.3a' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio into char-misc-linus

Jonathan writes:

IIO: 1st set of fixes for the 7.3 cycle.

A couple of core fixes, the rest usual mix of driver issues that surfaced
from merge window until now.

core
- buffer: Ensure that when using the iio_push_to_buffers_with_ts_unaligned()
  that the full buffer is zeroed.
- trigger: Cancel reenable_work() before freeing the trigger that might be
  re-enabled.
dma-buffer
- Fix wrong sizing for a mapped sg_list.  If an IOMMU was using a fused
  entry the mapping might walk off the end.

adi,ade9000
- Wait for power up before requesting interrupts.
- Fix overlap in scan index for current and voltage channels.
- Ensure Phase C dip event included in IRQ1 handler.
adi,adf4377
- Initialize all of a clk_init_data.
adi,adis*
- Ensure debugfs reads are finished before unbind.
adi,axi-adc
- Initialize mutex.
adi,admv1013
- Ensure mutex is intialized before notifier that might use it is
  registered.
- Fix wrong channel field used for read_raw.
allwinner,sun4i
- Drop a pm_runtime_put() when there was no get.
- Ensure correct cleanup on driver probe fail due to any issues with
  the thermal zone.
aspeed,adc,
- Don't eat reset deassert errors.
awinic,aw96103
- Make sure firmware length is validated rather than blindly trusting
  it.
bosch,bmp280
- Fix out of bounds lookup of sampling frequency due to indexing based on
  elements in matrix rather than just the correct dimension.
invensense,timestamp library
- Ensure time estimate doesn't invert wrt to current time in a corner
  case occasionally seen.
kionix,kx022a
- Off by one in array boundary check.
- Close a memory leak and state corruption in error path.
maxim,max1363
- Sign extend bipolar values to ensure correct reporting to userspace.
maxim,max30102
- Fix NULL dereference by checking there is data in the FIFO before
  trying to do anything with it.
microchip,mcp47a1
- Ensure highest possible value actually settable.
pulsed-light,lidar-lite
- Don't leak the IIO device registration if runtime pm setup fails
  particularly as it was being freed.
rockchip,saradc
- Fix wrong fallback compatible for rv1106 that lead to trying
  to use too many channels (correct support will follow next
  merge window)
rohm,bd79124
- Correct limit used for rising alarms.
- Fix which registers related to limits are used in initialization.
- Apply GPIO mask to allow subset of GPIOs to be toggled.
- Add missing regmap error handling in a few places.
- Ensures scale is read only.
rohm,bm1390
- Don't silently eat a data read error.
rohm,bu27034
- Don't silently eat error when reading gain.
- Ensure we infinite delay doesn't happen on error.
semtech,sx9324
- Fix wrong proximity channel resolution.
sharp,gp2ap020a00f
- Make sure to drain irq_work in remove path.
st,vl5310x
- Ensure direct mode is claimed for read_raw avoiding corruption
  of buffered accesses.
vishay,vcnl3020
- Use write bits for ISR mask and ensure right event reported.
vti,sca3000
- Fix up a condition check for the frequency divider.
xilinx,xadc
- Swap registration of cleanup of work with that of irq
  to ensure that no irqs can cause work that has been freed
  to be queued.
x-powers,axp288
- Add bias override quirk for Haier HV103H.  Fix because we
  used to always override then moved to trusting the firmware
  setup - which fixed some boards, but broke others.

* tag 'iio-fixes-for-7.3a' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (42 commits)
  iio: proximity: vcnl3020: fix ISR bitmask check in IRQ handler
  iio: proximity: vl53l0x-i2c: claim direct mode for raw reads
  iio: dac: mcp47a1: Allow full-scale output
  iio: accel: kionix-kx022a: Prevent memory leak and fix state
  iio: light: rohm-bu27034: Fix infinite delay on error
  iio: adc: sun4i-gpadc-iio: clean up on thermal zone registration failure
  iio: adc: sun4i-gpadc-iio: drop underflowing pm_runtime_put() calls
  iio: adc: axp288: Add TS bias override for Haier HV103H
  dt-bindings: iio: adc: rockchip-saradc: Fix RV1106 compatible
  dt-bindings: iio: adc: rockchip-saradc: Group single-entries into an enum list
  iio: inv_sensors: fix estimated value larger than interrupt timestamp
  iio: adc: aspeed: propagate reset deassert errors
  iio: buffer-dmaengine: fix sg entry iteration when building dma_vecs
  iio: proximity: pulsedlight: fix iio_device left registered on PM setup failure
  iio: trigger: cancel reenable_work before freeing trigger
  iio: frequency: admv1013: fix wrong channel field used in admv1013_read_raw()
  iio: accel: sca3000: fix frequency divider condition check
  iio: admv1013: initialize callback mutex before registering notifier
  iio: gyro: adis16136: fix unprotected debugfs reads
  iio: imu: adis16400: fix unprotected debugfs reads
  ...
2026-09-11 11:52:17 +02:00
..
industrialio-buffer-cb.c iio: inkern: Use namespaced exports 2026-07-05 01:37:19 +01:00
industrialio-buffer-dma.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
industrialio-buffer-dmaengine.c IIO: 1st set of fixes for the 7.3 cycle. 2026-09-11 11:52:17 +02:00
industrialio-hw-consumer.c iio: inkern: Use namespaced exports 2026-07-05 01:37:19 +01:00
industrialio-triggered-buffer.c iio: buffer: Fix checkpatch.pl warning 2025-06-09 07:45:35 +01:00
Kconfig iio: buffer: Kconfig: add title for IIO_TRIGGERED_BUFFER symbol 2020-09-29 17:27:08 +01:00
kfifo_buf.c iio: core: Simplify IIO core managed APIs 2026-02-23 21:00:47 +00:00
Makefile iio: Add hardware consumer buffer support 2018-01-10 10:30:05 +00:00