linux/drivers/iio/accel
Greg Kroah-Hartman 14c4dc8bb6 IIO: 2nd set of new device support, features and cleanup for 6.11
The big one here is we finally have Paul Cercueil's (and others)
 DMA buffer support for IIO devices enabling high speed zero
 copy transfer of data to and from sensors supported by IIO (and for
 example USB).  This should aid with upstream support of a range of
 higher performance ADCs and DACs.
 
 Two merges from other trees
 - spi/spi_devm_optimize used for simplification in ad7944.
 - dmaengine/topic_dma_vec to enable the DMABUF series.
 
 One feature with impact outside IIO.
 - Richer set of dev_err_probe() like helpers to cover ERR_PTR() cases.
 
 New device support
 ==================
 adi,ad7173
 - Add support for AD4111, AD4112, AD4114, AD4115 and ADC4116 pseudo
   differential ADCs. Major driver rework was needed to enabled these.
 adi,ad7944
 - Use devm_spi_optimize_message() to avoid a local devm cleanup
   callback. This is the example case from the patch set, others will
   follow.
 mediatek,mt6359-auxadc
 - New driver for this ADC IP found in MT6357, MT6358 and MT6359 PMICs.
 st,accel
 - Add support for the LIS2DS12 accelerometer
 ti,ads1119
 - New driver for this 16 bit 2-differential or 4-single ended channel
   ADC.
 
 Features
 ========
 dt-bindings
 - Introduce new common-mode-channel property to help handle pseudo
   differential ADCs where we have something that looks like one side
   of differential input, but which is only suited for use with a
   slow moving reference.
 adi,adf4350
 - Support use as a clock provider.
 iio-hmwon
 - Support reading of labels from IIO devices by their consumers and
   use this in the hwmon bridge.
 
 Cleanup and minor fixes
 =======================
 Treewide
 - Use regmap_clear_bits() / regmap_set_bits() to simplify open coded
   equivalents.
 - Use devm_regulator_get_enable_read_voltage() to replace equivalent
   opencoded boilerplate. In some cases enabled complete conversion to
   devm handling and removal of explicit remove() callbacks.
 - Introduce dev_err_ptr_probe() and other variants and make use of
   of them in a couple of examples driver cleanups. Will find use in
   many more drivers soon.
 adi,ad7192
 - Introduce local struct device *dev and use dev_err_probe() to give
   more readable code.
 adi,adi-axi-adc/dac
 - Improved consistency of messages using dev_err_probe()
 adi,adis
 - Split the trigger handling into cases that needed paging and those that
   don't resulting in more readable code.
 - Use cleanup.h to simplify error paths via scoped cleanup.
 - Add adis specific lock helpers and make use of them in a number of drivers.
 adi,ad7192
 - Update maintainer (Alisa-Dariana Roman)
 adi,ad7606
 - dt-binding cleanup.
 avago,apds9306
 - Add a maintainer entry (Subhajit Ghosh)
 linear,ltc2309
 - Fix a wrong endian type.
 st,stm32-dfsdm
 - Fix a missing port property in the dt-binding.
 st,sensors
 - Relax whoami match failure to a warning print rather than probe failure.
   This enables fallback compatibles to existing parts from those that don't
   necessarily even exit yet.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEbilms4eEBlKRJoGxVIU0mcT0FogFAmaEXkQRHGppYzIzQGtl
 cm5lbC5vcmcACgkQVIU0mcT0FojAVBAAnaPB1CCyh61JkMQx815wn87looa+JRi3
 v8J/NsM64gYEwG6aNLLxrHAMFECw4GVrL4rHA5bCJFlSYioSKgs0VB7ltOJ/2258
 CsnSxgJ+4fN0468oZz63WuvrmxBsLGbPRGdE/6pkLMJiGHC0Bb/v3ngrJ/LUbAt6
 j0zAFZ2lb5+iuM8MW5vUE0AcwoQakZEg75N4jD6vHSiLvk6dAduj+R8k6z4OlER9
 MaotfjIqYieQ/4SplMcJEd63IxodKjBJacZHFu7uN8d7VWkDhNPyPrJ388GoeXP6
 CK1cTQWO7ZD2yCdY5LjXJYCAejgtiCIMtM7ghe0ZU/OuDBOFgmoaHrmi48pceF9o
 h8KeOsZIa9oF8SSZuKROTQWAwh33F6elf+IoUWYp61hJwft1BQF060rTsGfm7Qq5
 bFOPwMn+BJASC3ARtjNAI/posdAyS4Tb7fBBsDZ9bMW1Y02X/jlhDvDby1WNAcSY
 LEttjsA/naCfquXy4ng+T9sNB+sy2x92FwgEv1Z9MrnMKp5T+mX6XWQ/xhHplGGa
 VAohB/31EatglJqPS0U9mLr1cmUsBS7ItHG9bDB5mOE9wQA5yAqhEqTbe2P3sWWO
 OW43UVaS1VTd10XbY3l0Jjpwe3qsMZNt6M+JaCSizUCLQiEc0h06THcB/xgxdbad
 sTmopNgIR3Y=
 =+9tp
 -----END PGP SIGNATURE-----

Merge tag 'iio-for-6.11b' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio into char-misc-next

Jonathan writes:

IIO: 2nd set of new device support, features and cleanup for 6.11

The big one here is we finally have Paul Cercueil's (and others)
DMA buffer support for IIO devices enabling high speed zero
copy transfer of data to and from sensors supported by IIO (and for
example USB).  This should aid with upstream support of a range of
higher performance ADCs and DACs.

Two merges from other trees
- spi/spi_devm_optimize used for simplification in ad7944.
- dmaengine/topic_dma_vec to enable the DMABUF series.

One feature with impact outside IIO.
- Richer set of dev_err_probe() like helpers to cover ERR_PTR() cases.

New device support
==================
adi,ad7173
- Add support for AD4111, AD4112, AD4114, AD4115 and ADC4116 pseudo
  differential ADCs. Major driver rework was needed to enabled these.
adi,ad7944
- Use devm_spi_optimize_message() to avoid a local devm cleanup
  callback. This is the example case from the patch set, others will
  follow.
mediatek,mt6359-auxadc
- New driver for this ADC IP found in MT6357, MT6358 and MT6359 PMICs.
st,accel
- Add support for the LIS2DS12 accelerometer
ti,ads1119
- New driver for this 16 bit 2-differential or 4-single ended channel
  ADC.

Features
========
dt-bindings
- Introduce new common-mode-channel property to help handle pseudo
  differential ADCs where we have something that looks like one side
  of differential input, but which is only suited for use with a
  slow moving reference.
adi,adf4350
- Support use as a clock provider.
iio-hmwon
- Support reading of labels from IIO devices by their consumers and
  use this in the hwmon bridge.

Cleanup and minor fixes
=======================
Treewide
- Use regmap_clear_bits() / regmap_set_bits() to simplify open coded
  equivalents.
- Use devm_regulator_get_enable_read_voltage() to replace equivalent
  opencoded boilerplate. In some cases enabled complete conversion to
  devm handling and removal of explicit remove() callbacks.
- Introduce dev_err_ptr_probe() and other variants and make use of
  of them in a couple of examples driver cleanups. Will find use in
  many more drivers soon.
adi,ad7192
- Introduce local struct device *dev and use dev_err_probe() to give
  more readable code.
adi,adi-axi-adc/dac
- Improved consistency of messages using dev_err_probe()
adi,adis
- Split the trigger handling into cases that needed paging and those that
  don't resulting in more readable code.
- Use cleanup.h to simplify error paths via scoped cleanup.
- Add adis specific lock helpers and make use of them in a number of drivers.
adi,ad7192
- Update maintainer (Alisa-Dariana Roman)
adi,ad7606
- dt-binding cleanup.
avago,apds9306
- Add a maintainer entry (Subhajit Ghosh)
linear,ltc2309
- Fix a wrong endian type.
st,stm32-dfsdm
- Fix a missing port property in the dt-binding.
st,sensors
- Relax whoami match failure to a warning print rather than probe failure.
  This enables fallback compatibles to existing parts from those that don't
  necessarily even exit yet.

* tag 'iio-for-6.11b' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (112 commits)
  iio: adc: ad7173: Fix uninitialized symbol is_current_chan
  iio: adc: Add support for MediaTek MT6357/8/9 Auxiliary ADC
  math.h: Add unsigned 8 bits fractional numbers type
  dt-bindings: iio: adc: Add MediaTek MT6359 PMIC AUXADC
  iio: common: scmi_iio: convert to dev_err_probe()
  iio: backend: make use of dev_err_cast_probe()
  iio: temperature: ltc2983: convert to dev_err_probe()
  dev_printk: add new dev_err_probe() helpers
  iio: xilinx-ams: Add labels
  iio: adc: ad7944: use devm_spi_optimize_message()
  Documentation: iio: Document high-speed DMABUF based API
  iio: buffer-dmaengine: Support new DMABUF based userspace API
  iio: buffer-dma: Enable support for DMABUFs
  iio: core: Add new DMABUF interface infrastructure
  MAINTAINERS: Update AD7192 driver maintainer
  iio: adc: ad7192: use devm_regulator_get_enable_read_voltage
  iio: st_sensors: relax WhoAmI check in st_sensors_verify_id()
  MAINTAINERS: Add AVAGO APDS9306
  dt-bindings: iio: adc: adi,ad7606: comment and sort the compatible names
  dt-bindings: iio: adc: adi,ad7606: add missing datasheet link
  ...
2024-07-04 11:04:20 +02:00
..
adis16201.c iio: accel: adis16201: Call '__adis_initial_startup()' in probe 2022-11-23 20:37:50 +00:00
adis16209.c iio: accel: adis16209: Call '__adis_initial_startup()' in probe 2022-11-23 20:37:50 +00:00
adxl313_core.c drivers: iio: accel: adxl312 and adxl314 support 2022-09-21 18:42:53 +01:00
adxl313_i2c.c iio: accel: adxl313: Use i2c_get_match_data 2023-07-29 12:30:39 +01:00
adxl313_spi.c iio: accel: adxl313: simplify with spi_get_device_match_data() 2024-06-13 19:19:23 +01:00
adxl313.h drivers: iio: accel: adxl312 and adxl314 support 2022-09-21 18:42:53 +01:00
adxl345_core.c iio: accel: adxl345: Add comment to probe 2024-04-06 16:18:39 +01:00
adxl345_i2c.c iio: accel: adxl345: Pass function pointer to core 2024-04-06 16:18:39 +01:00
adxl345_spi.c iio: accel: adxl345: Add spi-3wire option 2024-04-06 16:18:39 +01:00
adxl345.h iio: accel: adxl345: Add spi-3wire option 2024-04-06 16:18:39 +01:00
adxl355_core.c drivers: iio: accel: Add support for ADXL359 device 2022-11-23 19:44:04 +00:00
adxl355_i2c.c iio: accel: adxl355: Simplify probe() 2023-07-22 17:24:51 +01:00
adxl355_spi.c iio: accel: adxl355: simplify with spi_get_device_match_data() 2024-06-13 19:19:23 +01:00
adxl355.h drivers: iio: accel: Add support for ADXL359 device 2022-11-23 19:44:04 +00:00
adxl367_i2c.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
adxl367_spi.c iio: accel: adxl367: Fix alignment for DMA safety 2022-06-14 11:53:11 +01:00
adxl367.c iio: accel: adxl367: Remove second semicolon 2024-03-25 20:10:14 +00:00
adxl367.h iio: accel: add ADXL367 driver 2022-02-21 19:33:06 +00:00
adxl372_i2c.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
adxl372_spi.c iio: accel: adxl372: Switch from linux/of.h to linux/mod_devicetable.h 2024-02-28 19:26:35 +00:00
adxl372.c iio: Don't silently expect attribute types 2022-11-23 19:44:04 +00:00
adxl372.h
bma180.c iio: accel: bma180: Switch from linux/of.h to linux/mod_devicetable.h 2024-02-28 19:26:35 +00:00
bma220_spi.c iio: accel: bma220: Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2022-07-18 18:48:17 +01:00
bma400_core.c iio: accel: bma400: Simplify an error message 2023-05-13 17:56:05 +01:00
bma400_i2c.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
bma400_spi.c iio: accel: bma400: Add triggered buffer support 2022-06-11 14:35:26 +01:00
bma400.h iio: accel: bma400: Use devm_regulator_bulk_get_enable() 2022-12-28 17:19:45 +00:00
bmc150-accel-core.c iio: bmc150-accel-core: Use iio_read_acpi_mount_matrix() helper 2024-04-29 20:53:25 +01:00
bmc150-accel-i2c.c iio: accel: bmc150: Document duplicate ACPI entries with bmi323 driver 2024-02-19 19:34:44 +00:00
bmc150-accel-spi.c iio: accel: bmc150: Drop ACPI_PTR() 2024-01-23 22:06:54 +00:00
bmc150-accel.h iio: accel: bmc150: Make bmc150_accel_core_remove() return void 2021-10-19 08:30:45 +01:00
bmi088-accel-core.c iio: accel: bmi088: remove unused struct 'bmi088_scale_info' 2024-06-04 19:53:06 +01:00
bmi088-accel-i2c.c iio: accel: bmi088: add i2c support for bmi088 accel driver 2024-01-23 22:06:56 +00:00
bmi088-accel-spi.c iio: accel: bmi088: update comments and Kconfig 2023-12-17 14:22:21 +00:00
bmi088-accel.h iio: accel: bmi088: Add support for bmi090l accel 2022-06-11 14:35:28 +01:00
cros_ec_accel_legacy.c iio: cros: Register FIFO callback after sensor is registered 2022-07-18 18:29:13 +01:00
da280.c iio: accel: da280: Stop using ACPI_PTR() 2024-01-23 22:06:54 +00:00
da311.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
dmard06.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
dmard09.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
dmard10.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
fxls8962af-core.c iio: accel: fxls8962af-core: Make use of regmap_set_bits(), regmap_clear_bits() 2024-06-25 21:04:43 +01:00
fxls8962af-i2c.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
fxls8962af-spi.c iio: accel: fxls8962af: Use new EXPORT_NS_GPL_DEV_PM_OPS() 2022-11-23 19:44:00 +00:00
fxls8962af.h iio: Remove unused declarations 2023-09-12 10:42:03 +01:00
hid-sensor-accel-3d.c iio: accel: hid-sensor-accel-3d: Convert to platform remove callback returning void 2023-09-23 15:06:52 +01:00
Kconfig iio: accel: fxls8962af: select IIO_BUFFER & IIO_KFIFO_BUF 2024-06-08 18:52:45 +01:00
kionix-kx022a-i2c.c iio: kx022a: Support ROHM KX132ACR-LBZ 2023-10-05 14:44:06 +01:00
kionix-kx022a-spi.c iio: kx022a: Support ROHM KX132ACR-LBZ 2023-10-05 14:44:06 +01:00
kionix-kx022a.c iio: kx022a: Fix acceleration value scaling 2023-11-16 19:35:41 +00:00
kionix-kx022a.h iio: kx022a: Support ROHM KX132ACR-LBZ 2023-10-05 14:44:06 +01:00
kxcjk-1013.c iio: accel: kxcjk-1013: Use new iio_read_acpi_mount_matrix() helper 2024-04-29 20:53:25 +01:00
kxsd9-i2c.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
kxsd9-spi.c iio: accel: kxsd9: Switch from linux/of.h to linux/mod_devicetable.h 2024-02-28 19:26:35 +00:00
kxsd9.c iio: accel: kxsd9: Make use of regmap_clear_bits() 2024-06-25 21:04:43 +01:00
kxsd9.h iio: accel: kxsd9: Make kxsd9_common_remove() return void 2021-10-19 08:30:45 +01:00
Makefile iio: accel: bmi088: add i2c support for bmi088 accel driver 2024-01-23 22:06:56 +00:00
mc3230.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
mma7455_core.c iio:accel:mma7455_core: Move exports into IIO_MMA7455 namespace 2022-02-18 11:36:53 +00:00
mma7455_i2c.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
mma7455_spi.c Char/Misc and other driver updates for 5.18-rc1 2022-03-28 12:27:35 -07:00
mma7455.h iio: accel: mma7455: Make mma7455_core_remove() return void 2021-10-19 08:30:45 +01:00
mma7660.c iio: accel: mma7660: add mount-matrix support 2024-06-13 19:19:22 +01:00
mma8452.c iio: accel: mma8452: Switch from of specific to fwnode property handling. 2024-03-25 19:50:10 +00:00
mma9551_core.c iio: accel: mma9551_core: Prevent uninitialized variable in mma9551_read_config_word() 2023-01-28 17:40:17 +00:00
mma9551_core.h
mma9551.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
mma9553.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
msa311.c iio: accel: msa311: make use of regmap_clear_bits() 2024-06-25 21:04:44 +01:00
mxc4005.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
mxc6255.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
sca3000.c iio: accel: sca3000: Fix alignment for DMA safety 2022-06-14 11:53:12 +01:00
sca3300.c iio: accel: sca3300: Silence no spi_device_id warning 2022-11-23 19:43:57 +00:00
ssp_accel_sensor.c iio: core: Simplify the registration of kfifo buffers 2022-04-10 16:25:46 +01:00
st_accel_buffer.c iio:st-sensors: Remove duplicate MODULE_* 2022-02-18 11:36:54 +00:00
st_accel_core.c iio: accel: st_accel: add support for LIS2DS12 2024-06-25 21:04:49 +01:00
st_accel_i2c.c iio: accel: st_accel: add support for LIS2DS12 2024-06-25 21:04:49 +01:00
st_accel_spi.c iio: accel: st_accel: add support for LIS2DS12 2024-06-25 21:04:49 +01:00
st_accel.h iio: accel: st_accel: add support for LIS2DS12 2024-06-25 21:04:49 +01:00
stk8ba50.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
stk8312.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00