mbox series

[PULL] IIO: 2nd set new device support features etc for 6.11

Message ID 20240704090535.06322620@jic23-huawei (mailing list archive)
State Mainlined
Headers show
Series [PULL] IIO: 2nd set new device support features etc for 6.11 | expand

Pull-request

https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git tags/iio-for-6.11b

Message

Jonathan Cameron July 4, 2024, 8:05 a.m. UTC
The following changes since commit 20460472952043a4735e9abc1fd9de8e024d1c9e:

  Merge tag 'v6.10-rc4' into char-misc-next (2024-06-17 08:31:12 +0200)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git tags/iio-for-6.11b

for you to fetch changes up to 529d2e1900642eba6df28307e26e19793e227546:

  iio: adc: ad7173: Fix uninitialized symbol is_current_chan (2024-07-02 19:43:46 +0100)

----------------------------------------------------------------
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.

----------------------------------------------------------------
Alisa-Dariana Roman (2):
      iio: adc: ad7192: Clean up dev
      MAINTAINERS: Update AD7192 driver maintainer

AngeloGioacchino Del Regno (3):
      dt-bindings: iio: adc: Add MediaTek MT6359 PMIC AUXADC
      math.h: Add unsigned 8 bits fractional numbers type
      iio: adc: Add support for MediaTek MT6357/8/9 Auxiliary ADC

Antoniu Miclaus (2):
      dt-bindings: iio: adf4350: add clk provider prop
      iio: frequency: adf4350: add clk provider

David Lechner (19):
      iio: adc: ad7266: use devm_regulator_get_enable_read_voltage
      iio: adc: ad7292: use devm_regulator_get_enable_read_voltage
      iio: adc: ad7793: use devm_regulator_get_enable_read_voltage
      iio: adc: ad7944: use devm_regulator_get_enable_read_voltage
      Documentation: devres: add missing SPI helpers
      spi: add devm_spi_optimize_message() helper
      spi: add EXPORT_SYMBOL_GPL(devm_spi_optimize_message)
      iio: adc: aspeed_adc: use devm_regulator_get_enable_read_voltage()
      iio: adc: hx711: use devm_regulator_get_enable_read_voltage()
      iio: adc: hx711: remove hx711_remove()
      iio: adc: hx711: use dev_err_probe()
      iio: adc: ltc2309: use devm_regulator_get_enable_read_voltage()
      iio: adc: max1363: use devm_regulator_get_enable_read_voltage()
      iio: adc: ti-adc108s102: use devm_regulator_get_enable_read_voltage()
      iio: adc: ti-ads8688: use devm_regulator_get_enable_read_voltage()
      iio: adc: ti-ads8688: drop ads8688_remove()
      iio: dac: ad3552r: use devm_regulator_get_enable_read_voltage()
      iio: adc: ad7192: use devm_regulator_get_enable_read_voltage
      iio: adc: ad7944: use devm_spi_optimize_message()

Dumitru Ceclan (9):
      dt-bindings: iio: adc: Add common-mode-channel property
      dt-bindings: adc: ad7173: add support for ad411x
      iio: adc: ad_sigma_delta: add disable_one callback
      iio: adc: ad7173: refactor channel configuration parsing
      iio: adc: ad7173: refactor ain and vref selection
      iio: adc: ad7173: add support for special inputs
      iio: adc: ad7173: refactor device info structs
      iio: adc: ad7173: document sampling frequency behaviour
      iio: adc: ad7173: Add support for AD411x devices

Guillaume Stols (2):
      dt-bindings: iio: adc: adi,ad7606: add missing datasheet link
      dt-bindings: iio: adc: adi,ad7606: comment and sort the compatible names

Jonathan Cameron (4):
      iio: adc: ltc2309: Fix endian type passed to be16_to_cpu()
      Merge tag 'dmaengine_topic_dma_vec' into togreg
      Merge tag 'spi-devm-optimize' into togreg
      iio: adc: ad7173: Fix uninitialized symbol is_current_chan

João Paulo Gonçalves (2):
      dt-bindings: iio: adc: add ti,ads1119
      iio: adc: ti-ads1119: Add driver

Kaustabh Chakraborty (3):
      iio: accel: st_accel: add support for LIS2DS12
      dt-bindings: iio: st-sensors: add LIS2DS12 accelerometer
      iio: st_sensors: relax WhoAmI check in st_sensors_verify_id()

Nuno Sa (13):
      iio: imu: adis_buffer: split trigger handling
      iio: imu: adis: move to the cleanup magic
      iio: imu: adis: add cleanup based lock helpers
      iio: gyro: adis16260: make use of the new lock helpers
      iio: gyro: adis16260: make use of the new lock helpers
      iio: imu: adis16400: make use of the new lock helpers
      iio: imu: adis16480: make use of the new lock helpers
      iio: imu: adis16475: make use of the new lock helpers
      iio: imu: adis: remove legacy lock helpers
      dev_printk: add new dev_err_probe() helpers
      iio: temperature: ltc2983: convert to dev_err_probe()
      iio: backend: make use of dev_err_cast_probe()
      iio: common: scmi_iio: convert to dev_err_probe()

Olivier Moysan (1):
      dt-bindings: iio: stm32: dfsdm: fix dtbs warnings on dfsdm audio port

Paul Cercueil (7):
      dmaengine: Add API function dmaengine_prep_peripheral_dma_vec()
      dmaengine: dma-axi-dmac: Implement device_prep_peripheral_dma_vec
      Documentation: dmaengine: Document new dma_vec API
      iio: core: Add new DMABUF interface infrastructure
      iio: buffer-dma: Enable support for DMABUFs
      iio: buffer-dmaengine: Support new DMABUF based userspace API
      Documentation: iio: Document high-speed DMABUF based API

Sean Anderson (3):
      iio: Add iio_read_channel_label to inkern API
      hwmon: iio: Add labels from IIO channels
      iio: xilinx-ams: Add labels

Subhajit Ghosh (1):
      MAINTAINERS: Add AVAGO APDS9306

Trevor Gamblin (43):
      iio: adc: adi-axi-adc: improve probe() error messaging
      iio: accel: fxls8962af-core: Make use of regmap_set_bits(), regmap_clear_bits()
      iio: accel: kxsd9: Make use of regmap_clear_bits()
      iio: accel: msa311: make use of regmap_clear_bits()
      iio: adc: ad4130: make use of regmap_clear_bits()
      iio: adc: axp20x_adc: make use of regmap_set_bits()
      iio: adc: axp288_adc: make use of regmap_set_bits()
      iio: adc: bcm_iproc_adc: make use of regmap_clear_bits()
      iio: adc: cpcap-adc: make use of regmap_clear_bits(), regmap_set_bits()
      iio: adc: fsl-imx25-gcq: make use of regmap_clear_bits(), regmap_set_bits()
      iio: adc: ina2xx-adc: make use of regmap_clear_bits()
      iio: adc: intel_mrfld_adc: make use of regmap_clear_bits()
      iio: adc: meson_saradc: make use of regmap_clear_bits(), regmap_set_bits()
      iio: adc: mp2629_adc: make use of regmap_clear_bits(), regmap_set_bits()
      iio: adc: berlin2-adc: make use of regmap_clear_bits(), regmap_set_bits()
      iio: adc: qcom-spmi-rradc: make use of regmap_clear_bits(), regmap_set_bits()
      iio: adc: rn5t618-adc: make use of regmap_set_bits()
      iio: adc: sc27xx_adc: make use of regmap_clear_bits(), regmap_set_bits()
      iio: adc: stm32-dfsdm-adc: make use of regmap_clear_bits(), regmap_set_bits()
      iio: dac: ltc2688: make use of regmap_set_bits()
      iio: dac: stm32-dac-core: make use of regmap_set_bits()
      iio: gyro: bmg160_core: make use of regmap_clear_bits()
      iio: gyro: mpu3050-core: make use of regmap_clear_bits(), regmap_set_bits()
      iio: health: afe4403: make use of regmap_clear_bits(), regmap_set_bits()
      iio: health: afe4404: make use of regmap_clear_bits(), regmap_set_bits()
      iio: health: max30100: make use of regmap_set_bits()
      iio: health: max30102: make use of regmap_set_bits()
      iio: imu: inv_icm42600: make use of regmap_clear_bits(), regmap_set_bits()
      iio: light: adux1020: make use of regmap_clear_bits(), regmap_set_bits()
      iio: light: iqs621-als: make use of regmap_clear_bits()
      iio: light: isl29018: make use of regmap_clear_bits()
      iio: light: st_uvis25_core: make use of regmap_clear_bits()
      iio: light: veml6030: make use of regmap_clear_bits()
      iio: magnetometer: ak8974: make use of regmap_set_bits()
      iio: magnetometer: mmc35240: make use of regmap_set_bits()
      iio: pressure: bmp280-core: make use of regmap_clear_bits()
      iio: proximity: sx9324: make use of regmap_set_bits()
      iio: proximity: sx9360: make use of regmap_set_bits()
      iio: proximity: sx9500: make use of regmap_clear_bits(), regmap_set_bits()
      iio: proximity: sx_common: make use of regmap_clear_bits(), regmap_set_bits()
      iio: temperature: mlx90632: make use of regmap_clear_bits()
      iio: trigger: stm32-timer-trigger: make use of regmap_clear_bits(), regmap_set_bits()
      iio: dac: adi-axi-dac: improve probe() error messaging

 Documentation/devicetree/bindings/iio/adc/adc.yaml |  11 +
 .../devicetree/bindings/iio/adc/adi,ad7173.yaml    | 194 ++++-
 .../devicetree/bindings/iio/adc/adi,ad7606.yaml    |   5 +-
 .../bindings/iio/adc/mediatek,mt6359-auxadc.yaml   |  33 +
 .../bindings/iio/adc/st,stm32-dfsdm-adc.yaml       |   4 +
 .../devicetree/bindings/iio/adc/ti,ads1119.yaml    | 155 ++++
 .../bindings/iio/frequency/adi,adf4350.yaml        |   6 +
 .../devicetree/bindings/iio/st,st-sensors.yaml     |   1 +
 Documentation/driver-api/dmaengine/client.rst      |   9 +
 Documentation/driver-api/dmaengine/provider.rst    |  10 +
 Documentation/driver-api/driver-model/devres.rst   |   3 +
 Documentation/iio/iio_dmabuf_api.rst               |  54 ++
 Documentation/iio/index.rst                        |   1 +
 MAINTAINERS                                        |  17 +-
 drivers/dma/dma-axi-dmac.c                         |  40 +
 drivers/hwmon/iio_hwmon.c                          |  45 +-
 drivers/iio/Kconfig                                |   1 +
 drivers/iio/accel/fxls8962af-core.c                |  18 +-
 drivers/iio/accel/kxsd9.c                          |   5 +-
 drivers/iio/accel/msa311.c                         |   8 +-
 drivers/iio/accel/st_accel.h                       |   1 +
 drivers/iio/accel/st_accel_core.c                  |  81 ++
 drivers/iio/accel/st_accel_i2c.c                   |   5 +
 drivers/iio/accel/st_accel_spi.c                   |   5 +
 drivers/iio/adc/Kconfig                            |  24 +
 drivers/iio/adc/Makefile                           |   2 +
 drivers/iio/adc/ad4130.c                           |   4 +-
 drivers/iio/adc/ad7124.c                           |  14 +-
 drivers/iio/adc/ad7173.c                           | 676 ++++++++++++-----
 drivers/iio/adc/ad7192.c                           | 134 ++--
 drivers/iio/adc/ad7266.c                           |  33 +-
 drivers/iio/adc/ad7292.c                           |  36 +-
 drivers/iio/adc/ad7793.c                           |  24 +-
 drivers/iio/adc/ad7944.c                           |  80 +-
 drivers/iio/adc/ad_sigma_delta.c                   |   1 +
 drivers/iio/adc/adi-axi-adc.c                      |   9 +-
 drivers/iio/adc/aspeed_adc.c                       |  30 +-
 drivers/iio/adc/axp20x_adc.c                       |   5 +-
 drivers/iio/adc/axp288_adc.c                       |   4 +-
 drivers/iio/adc/bcm_iproc_adc.c                    |   8 +-
 drivers/iio/adc/berlin2-adc.c                      |  24 +-
 drivers/iio/adc/cpcap-adc.c                        |  46 +-
 drivers/iio/adc/fsl-imx25-gcq.c                    |  16 +-
 drivers/iio/adc/hx711.c                            |  78 +-
 drivers/iio/adc/ina2xx-adc.c                       |   3 +-
 drivers/iio/adc/intel_mrfld_adc.c                  |   4 +-
 drivers/iio/adc/ltc2309.c                          |  45 +-
 drivers/iio/adc/max1363.c                          |  28 +-
 drivers/iio/adc/meson_saradc.c                     | 101 ++-
 drivers/iio/adc/mp2629_adc.c                       |  19 +-
 drivers/iio/adc/mt6359-auxadc.c                    | 606 +++++++++++++++
 drivers/iio/adc/qcom-spmi-rradc.c                  |  50 +-
 drivers/iio/adc/rn5t618-adc.c                      |   5 +-
 drivers/iio/adc/sc27xx_adc.c                       |  41 +-
 drivers/iio/adc/stm32-dfsdm-adc.c                  |  29 +-
 drivers/iio/adc/ti-adc108s102.c                    |  28 +-
 drivers/iio/adc/ti-ads1119.c                       | 825 +++++++++++++++++++++
 drivers/iio/adc/ti-ads8688.c                       |  59 +-
 drivers/iio/adc/xilinx-ams.c                       | 107 +--
 drivers/iio/buffer/industrialio-buffer-dma.c       | 178 ++++-
 drivers/iio/buffer/industrialio-buffer-dmaengine.c |  62 +-
 drivers/iio/common/scmi_sensors/scmi_iio.c         |  45 +-
 drivers/iio/common/st_sensors/st_sensors_core.c    |   3 +-
 drivers/iio/dac/ad3552r.c                          |  28 +-
 drivers/iio/dac/adi-axi-dac.c                      |   9 +-
 drivers/iio/dac/ltc2688.c                          |   5 +-
 drivers/iio/dac/stm32-dac-core.c                   |   5 +-
 drivers/iio/frequency/adf4350.c                    | 124 +++-
 drivers/iio/gyro/adis16136.c                       |  26 +-
 drivers/iio/gyro/adis16260.c                       |  19 +-
 drivers/iio/gyro/bmg160_core.c                     |   4 +-
 drivers/iio/gyro/mpu3050-core.c                    |  35 +-
 drivers/iio/health/afe4403.c                       |   9 +-
 drivers/iio/health/afe4404.c                       |   9 +-
 drivers/iio/health/max30100.c                      |   5 +-
 drivers/iio/health/max30102.c                      |   5 +-
 drivers/iio/iio_core.h                             |   4 +
 drivers/iio/imu/adis.c                             |  11 +-
 drivers/iio/imu/adis16400.c                        |  72 +-
 drivers/iio/imu/adis16475.c                        |  44 +-
 drivers/iio/imu/adis16480.c                        |  63 +-
 drivers/iio/imu/adis_buffer.c                      |  41 +-
 drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.c |  14 +-
 drivers/iio/imu/inv_icm42600/inv_icm42600_core.c   |   9 +-
 drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c    |   4 +-
 drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c    |   4 +-
 drivers/iio/industrialio-backend.c                 |   8 +-
 drivers/iio/industrialio-buffer.c                  | 459 ++++++++++++
 drivers/iio/industrialio-core.c                    |  23 +-
 drivers/iio/inkern.c                               |   6 +
 drivers/iio/light/adux1020.c                       |  13 +-
 drivers/iio/light/iqs621-als.c                     |   4 +-
 drivers/iio/light/isl29018.c                       |   6 +-
 drivers/iio/light/st_uvis25_core.c                 |   4 +-
 drivers/iio/light/veml6030.c                       |   4 +-
 drivers/iio/magnetometer/ak8974.c                  |  10 +-
 drivers/iio/magnetometer/mmc35240.c                |   8 +-
 drivers/iio/pressure/bmp280-core.c                 |   4 +-
 drivers/iio/proximity/sx9324.c                     |   5 +-
 drivers/iio/proximity/sx9360.c                     |   5 +-
 drivers/iio/proximity/sx9500.c                     |  12 +-
 drivers/iio/proximity/sx_common.c                  |   9 +-
 drivers/iio/temperature/ltc2983.c                  | 262 +++----
 drivers/iio/temperature/mlx90632.c                 |   4 +-
 drivers/iio/trigger/stm32-timer-trigger.c          |  34 +-
 drivers/spi/spi.c                                  |  28 +
 .../dt-bindings/iio/adc/mediatek,mt6357-auxadc.h   |  21 +
 .../dt-bindings/iio/adc/mediatek,mt6358-auxadc.h   |  22 +
 .../dt-bindings/iio/adc/mediatek,mt6359-auxadc.h   |  22 +
 include/linux/dev_printk.h                         |   8 +
 include/linux/dmaengine.h                          |  33 +
 include/linux/iio/adc/ad_sigma_delta.h             |  14 +
 include/linux/iio/buffer-dma.h                     |  31 +
 include/linux/iio/buffer_impl.h                    |  33 +
 include/linux/iio/consumer.h                       |  10 +
 include/linux/iio/imu/adis.h                       |  66 +-
 include/linux/math.h                               |   2 +
 include/linux/spi/spi.h                            |   2 +
 include/uapi/linux/iio/buffer.h                    |  22 +
 119 files changed, 4447 insertions(+), 1494 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/iio/adc/mediatek,mt6359-auxadc.yaml
 create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,ads1119.yaml
 create mode 100644 Documentation/iio/iio_dmabuf_api.rst
 create mode 100644 drivers/iio/adc/mt6359-auxadc.c
 create mode 100644 drivers/iio/adc/ti-ads1119.c
 create mode 100644 include/dt-bindings/iio/adc/mediatek,mt6357-auxadc.h
 create mode 100644 include/dt-bindings/iio/adc/mediatek,mt6358-auxadc.h
 create mode 100644 include/dt-bindings/iio/adc/mediatek,mt6359-auxadc.h

Comments

gregkh@linuxfoundation.org July 4, 2024, 9:12 a.m. UTC | #1
On Thu, Jul 04, 2024 at 09:05:35AM +0100, Jonathan Cameron wrote:
> The following changes since commit 20460472952043a4735e9abc1fd9de8e024d1c9e:
> 
>   Merge tag 'v6.10-rc4' into char-misc-next (2024-06-17 08:31:12 +0200)
> 
> are available in the Git repository at:
> 
>   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git tags/iio-for-6.11b

Pulled and pushed out, thanks.

greg k-h