linux/drivers/iio/dac
Greg Kroah-Hartman fc3e44e492 IIO: New device support, features and cleanup for 6.18
New device support
 ==================
 
 ad,ade9000
 - New driver for this complex energy and power monitoring ADC.
 infineon,tlv493d
 - New driver for this 3D magnetic sensor.
 intel,dollar
 - New driver for this TI PMIC (part number unknown)
 marvel,88pm886
 - Driver for this PMIC ADC.
 microchip,mcp9600
 - Add explicit support for the mcp9601 which has some additional features
   over the mcp9600.
 rohm,bd79112
 - New driver for this ADC / GPIO Chip.
 
 Features
 ========
 Core
 - New helper to multiply data expressed in IIO types.
 - Add KUnit tests.
 - New IIO_ALTCURRENT type, similar to existing IIO_ALTVOLTAGE
 - Add some channel modifiers related to energy and power, such as
   reactive.
 adi,ad7124
 - Support external clocks sources and output of the internal clocks.
 - Filter control.
 adi,ad7173
 - Add filter support. Some fiddly interactions with other parameters on this
   device.
 adi,ad7779
 - Add backend support which required control of the number of lanes used.
 liteon,ltr390
 - Add runtime PM support.
 microchip,mcp9600
 - Add support for different thermocouple types.
 
 Cleanup and minor fixes
 =======================
 
 core
 - Switch info_mask fields to be unsigned. Not clear why they were ever
   signed.
 - Fix handling of negative channel scale in iio_convert_raw_to_processed()
 - Fix offset handling for channels without a scale attribute.
 - Improve the precision of scaling slightly.
 - Drop apparent handling of IIO_CHAN_INFO_PROCESSED for devices that don't
   have any such channels.
 various
 - Drop many pm_runtime_mark_last_busy() calls now
   pm_runtime_put_autosuspend() calls it internally.
 - Drop dev_err_probe() calls where the error code is hard coded as -ENOMEM
   as they don't do anything.
 - Drop dev_err() calls where the error code is -ENOMEM. This will reduce
   error prints, but memory failures generate a lot of messages anyway
   so unlikely we need these prints.
 current-sense-amplifier
 - Add #io-channels property this channel to be used by a consumer driver.
 adi,ad7124
 - Fix incorrect clocks dt-binding property.
 - Make the mclk clock optional in DT - this is internal to the ADC so should
   never have been in he binding.
 - Fix up sample rate to comply with ABI.
 - Use read_avail() callback rather than opencoding similar.
 - Deploy guard() to clean up some lock handling.
 adi,ad7768
 - Use devm_regulator_get_enable_read_voltage() to replace similar code.
 adi,ad7816
 - Drop an unnecessary dev_set_drvdata() call as nothing uses the data.
 ad,adxl345
 - Fix missing blank line before bullet list in documentation.
 arm,scmi
 - Use devm_kcalloc() for an array allocation rather than devm_kzalloc().
 bosch,bmi270
 - Match an ACPI ID seen in the wild. It is not spec compliant but we can't
   do much about that.
 bosch,bmp280
 - Drop overly noisy dev_info()
 - Allow for sleeping gpio controllers.
 gogle,cros-ec
 - Drop unused location attribute that has been replaced by label.
 invense,icm42600
 - Simplify the power management.
 - Use guard() to simplify some locking.
 maxim,max1238
 - Add io-channel-cells property to dt-binding as there is an in tree
   consumer.
 microchip,mcp9600
 - Specify a default value in dt-binding for the thermocouple type
 - General whitespace cleanup.
 samsung,exynos
 - Drop support for the S3C2410 including bindings, and touchscreen support
   as nothing else uses that.
 - Drop platform ID based binding as not used.
 st,vl53l0x
 - Fix returning the wrong variable in an error path.
 ti,pac1934
 - Replace open coded devm_mutex_init().
 xilinx,ams
 - Update maintainers entry.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEbilms4eEBlKRJoGxVIU0mcT0FogFAmjMAQYRHGppYzIzQGtl
 cm5lbC5vcmcACgkQVIU0mcT0Foi4zQ//UKValffDHWi9OkZjyIqQ7Ee3qa/HTuCT
 rCUpROr8dh9bmS5mSO3karfGatqORBZZs5h94rQXiwG0qGq1w4U0B1+bDA53LwpU
 t3bX0AZgnU86jsQlh8KTofZbhmDL1kB7H2i5rrHBePjuc8l7HvMTcv1Ws+6fFPwO
 IevzUaDfrrD33LQY9TzlhoFNO+/NIRHjV4Phv4/zHrw0/QI+JgOjafghCs7IaO8J
 /Noss44pDfaSgduqXHQ7nd2pJM20p0zU+88jj4n1/m1lWEsD5wkvaCcePHgvhnlR
 XSK5yI00KI7nnfKolZhr6KOAJzLoii7uTDmxIQ4zS0qE6TMs+lA9qN1e2brxXMyv
 P6NL20op56C8u1clsesU51w4LBYPYDuXx8ogRcppY9K1Kra+Fv62qD1dvkmP5rFQ
 OP/SDn6AxsIKcb8T+GRmzvQVmKgPfrTUQteuuYDm5dECBtwdYY/3goC4zY/phBNQ
 jOmUC7HNZJsp0fF6Aq3lvuDDf3tG+DvI68/AEOlixnA/BhpHm5w0av0rAh+lDv8Q
 +MI5SE2/AAlr4avQ2q3iH9bS17+cgBJoV0A+wmE2ArP4DGqcVaZ/5uB6dFF6vzIS
 bx7pYjrkCpFUSAvA40PwGSrp6RXg0E0j5L0b0Yx4FkbZK7x82uGm2Rg9Lol3NcWq
 2VKMQCmZfm0=
 =iOJF
 -----END PGP SIGNATURE-----

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

Jonathan writes:

IIO: New device support, features and cleanup for 6.18

New device support
==================

ad,ade9000
- New driver for this complex energy and power monitoring ADC.
infineon,tlv493d
- New driver for this 3D magnetic sensor.
intel,dollar
- New driver for this TI PMIC (part number unknown)
marvel,88pm886
- Driver for this PMIC ADC.
microchip,mcp9600
- Add explicit support for the mcp9601 which has some additional features
  over the mcp9600.
rohm,bd79112
- New driver for this ADC / GPIO Chip.

Features
========
Core
- New helper to multiply data expressed in IIO types.
- Add KUnit tests.
- New IIO_ALTCURRENT type, similar to existing IIO_ALTVOLTAGE
- Add some channel modifiers related to energy and power, such as
  reactive.
adi,ad7124
- Support external clocks sources and output of the internal clocks.
- Filter control.
adi,ad7173
- Add filter support. Some fiddly interactions with other parameters on this
  device.
adi,ad7779
- Add backend support which required control of the number of lanes used.
liteon,ltr390
- Add runtime PM support.
microchip,mcp9600
- Add support for different thermocouple types.

Cleanup and minor fixes
=======================

core
- Switch info_mask fields to be unsigned. Not clear why they were ever
  signed.
- Fix handling of negative channel scale in iio_convert_raw_to_processed()
- Fix offset handling for channels without a scale attribute.
- Improve the precision of scaling slightly.
- Drop apparent handling of IIO_CHAN_INFO_PROCESSED for devices that don't
  have any such channels.
various
- Drop many pm_runtime_mark_last_busy() calls now
  pm_runtime_put_autosuspend() calls it internally.
- Drop dev_err_probe() calls where the error code is hard coded as -ENOMEM
  as they don't do anything.
- Drop dev_err() calls where the error code is -ENOMEM. This will reduce
  error prints, but memory failures generate a lot of messages anyway
  so unlikely we need these prints.
current-sense-amplifier
- Add #io-channels property this channel to be used by a consumer driver.
adi,ad7124
- Fix incorrect clocks dt-binding property.
- Make the mclk clock optional in DT - this is internal to the ADC so should
  never have been in he binding.
- Fix up sample rate to comply with ABI.
- Use read_avail() callback rather than opencoding similar.
- Deploy guard() to clean up some lock handling.
adi,ad7768
- Use devm_regulator_get_enable_read_voltage() to replace similar code.
adi,ad7816
- Drop an unnecessary dev_set_drvdata() call as nothing uses the data.
ad,adxl345
- Fix missing blank line before bullet list in documentation.
arm,scmi
- Use devm_kcalloc() for an array allocation rather than devm_kzalloc().
bosch,bmi270
- Match an ACPI ID seen in the wild. It is not spec compliant but we can't
  do much about that.
bosch,bmp280
- Drop overly noisy dev_info()
- Allow for sleeping gpio controllers.
gogle,cros-ec
- Drop unused location attribute that has been replaced by label.
invense,icm42600
- Simplify the power management.
- Use guard() to simplify some locking.
maxim,max1238
- Add io-channel-cells property to dt-binding as there is an in tree
  consumer.
microchip,mcp9600
- Specify a default value in dt-binding for the thermocouple type
- General whitespace cleanup.
samsung,exynos
- Drop support for the S3C2410 including bindings, and touchscreen support
  as nothing else uses that.
- Drop platform ID based binding as not used.
st,vl53l0x
- Fix returning the wrong variable in an error path.
ti,pac1934
- Replace open coded devm_mutex_init().
xilinx,ams
- Update maintainers entry.

* tag 'iio-for-6.18a' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (178 commits)
  MAINTAINERS: Support ROHM BD79112 ADC
  iio: adc: Support ROHM BD79112 ADC/GPIO
  dt-bindings: iio: adc: ROHM BD79112 ADC/GPIO
  iio: pressure: bmp280: Use gpiod_set_value_cansleep()
  iio: pressure: bmp280: Remove noisy dev_info()
  iio: ABI: add filter types for ad7173
  iio: adc: ad7173: support changing filter type
  iio: adc: ad7173: rename odr field
  iio: adc: ad7173: rename ad7173_chan_spec_ext_info
  iio: adc: Add driver for Marvell 88PM886 PMIC ADC
  dt-bindings: mfd: 88pm886: Add #io-channel-cells
  iio: ABI: document "sinc4+rej60" filter_type
  iio: adc: ad7124: add filter support
  iio: adc: ad7124: support fractional sampling_frequency
  iio: adc: ad7124: use guard(mutex) to simplify return paths
  iio: adc: ad7124: use read_avail() for scale_available
  iio: adc: ad7124: use clamp()
  iio: adc: ad7124: fix sample rate for multi-channel use
  Documentation: ABI: iio: add sinc4+lp
  docs: iio: add documentation for ade9000 driver
  ...
2025-09-23 14:15:25 +02:00
..
Kconfig iio: dac: ad3530r: Add driver for AD3530R and AD3531R 2025-05-21 14:20:29 +01:00
Makefile iio: dac: ad3530r: Add driver for AD3530R and AD3531R 2025-05-21 14:20:29 +01:00
ad3530r.c iio: dac: ad3530r: Fix incorrect masking for channels 4-7 in powerdown mode 2025-06-29 17:15:40 +01:00
ad3552r-common.c iio: dac: ad3552r-hs: add debugfs reg access 2025-04-22 19:09:53 +01:00
ad3552r-hs.c iio: dac: ad3552r-hs: add support for internal ramp 2025-04-22 19:10:04 +01:00
ad3552r-hs.h iio: dac: adi-axi-dac: add bus mode setup 2025-02-08 15:10:11 +00:00
ad3552r.c iio: dac: ad3552r: use = { } instead of memset() 2025-06-26 19:32:56 +01:00
ad3552r.h iio: dac: ad3552r-hs: add debugfs reg access 2025-04-22 19:09:53 +01:00
ad5064.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ad5360.c iio: dac: ad5360: use int type to store negative error codes 2025-09-01 20:43:36 +01:00
ad5380.c iio: dac: Drop unnecessary -ENOMEM messages 2025-08-25 12:32:48 +01:00
ad5421.c iio: dac: ad5421: use int type to store negative error codes 2025-09-01 20:43:43 +01:00
ad5446.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ad5449.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ad5504.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ad5592r-base.c treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
ad5592r-base.h
ad5592r.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ad5593r.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ad5624r.h
ad5624r_spi.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ad5686-spi.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ad5686.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ad5686.h
ad5696-i2c.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ad5755.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ad5758.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ad5761.c iio: dac: ad5761: remove bits_per_word = 8 2025-05-21 14:20:30 +01:00
ad5764.c iio: dac: Drop unnecessary -ENOMEM messages 2025-08-25 12:32:48 +01:00
ad5766.c iio: dac: ad5766: remove bits_per_word = 8 2025-05-21 14:20:30 +01:00
ad5770r.c iio: dac: ad5770r: make ad5770r_rng_tbl const 2025-07-06 10:37:53 +01:00
ad5791.c iio: dac: ad5791: drop unused member of struct ad5791_state 2025-08-16 14:42:02 +01:00
ad7293.c iio: dac: ad7293: add adc reference configuration 2025-05-21 14:20:29 +01:00
ad7303.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ad8460.c iio: dac: ad8460: Stop using iio_device_claim_direct_scoped() 2025-02-17 13:03:24 +00:00
ad8801.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ad9739a.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
adi-axi-dac.c This is the usual collection of primarily clk driver updates. The big part of 2025-07-31 13:36:27 -07:00
cio-dac.c
dpot-dac.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ds4424.c iio: dac: Drop unnecessary -ENOMEM messages 2025-08-25 12:32:48 +01:00
lpc18xx_dac.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ltc1660.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ltc2632.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ltc2664.c
ltc2688.c iio: dac: ltc2688: make ltc2688_dither_ext_info const 2025-07-06 10:37:53 +01:00
m62332.c
max517.c iio: Remove single use of macro definition for driver name 2025-06-09 07:45:36 +01:00
max5522.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
max5821.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
mcp4725.c iio: Remove single use of macro definition for driver name 2025-06-09 07:45:36 +01:00
mcp4728.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
mcp4821.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
mcp4922.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
rohm-bd79703.c iio: dac: bd79703: convert to use maple tree register cache 2025-06-26 19:32:52 +01:00
stm32-dac-core.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
stm32-dac-core.h
stm32-dac.c iio: dac: Remove redundant pm_runtime_mark_last_busy() calls 2025-08-30 20:50:21 +01:00
ti-dac082s085.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ti-dac5571.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
ti-dac7311.c iio: dac: Drop unnecessary -ENOMEM messages 2025-08-25 12:32:48 +01:00
ti-dac7612.c iio: normalize array sentinel style 2025-04-22 19:10:04 +01:00
vf610_dac.c iio: dac: vf610: Simplify with devm_clk_get_enabled() 2025-07-14 19:20:54 +01:00