linux-iio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/6] iio: processed channel handling fixes + Intel Dollar Cove TI PMIC ADC driver
@ 2025-08-11 15:54 Hans de Goede
  2025-08-11 15:54 ` [PATCH v4 1/6] iio: consumers: Fix handling of negative channel scale in iio_convert_raw_to_processed() Hans de Goede
                   ` (7 more replies)
  0 siblings, 8 replies; 18+ messages in thread
From: Hans de Goede @ 2025-08-11 15:54 UTC (permalink / raw)
  To: Jonathan Cameron, David Lechner, Andy Shevchenko
  Cc: Hans de Goede, Matteo Martelli, Liam Beguin, linux-iio

Hi All,

Here is v4 of my patch to add an IIO driver for the Intel Dollar Cove TI
PMIC ADC. This has turned more into a series with fixes / changes
to iio_convert_raw_to_processed() and iio_read_channel_processed_scale(),
with the new driver tagged on as the last patch :)

Changes in v4:
- 2 new bug-fixes for iio_convert_raw_to_processed()
- Factor the bugfixed code multiply a s64 and an iio (type, val, val2)
  triplet out of iio_convert_raw_to_processed() into a new
  iio_multiply_value() helper
- Add a kunit test for iio_multiply_value()
- Redo the "Improve iio_read_channel_processed_scale() precision"
  patch using the iio_multiply_value() helper

Changes in v3:
- "iio: Improve iio_read_channel_processed_scale() precision"
  - Use div_s64() instead of div_u64() to fix -1.0 - 0.0 range
  - Directly return IIO_VAL_INT from valid cases and drop the final
    return ret after the switch-case
- "iio: adc: Add Intel Dollar Cove TI PMIC ADC driver"
  - Use new more compact DC_TI_ADC_DATA_REG_CH(x) macro
  - Use regmap_set_bits() regmap_clear_bits() where applicable
  - Use regmap_bulk_read() + be16_to_cpu() to read ADC value
  - Use sign_extend32() for vbat_zse and vbat_ge reading in probe()

Changes in v2:
- Add new "iio: Improve iio_read_channel_processed_scale() precision"
  patch to the series
- Add IIO_CHAN_INFO_SCALE and provide ADC scale info for Vbat
- Add IIO_CHAN_INFO_PROCESSED which applies calibration and
  scaling for the VBat channel
- Address some other small review remarks

Regards,

Hans


Hans de Goede (6):
  iio: consumers: Fix handling of negative channel scale in
    iio_convert_raw_to_processed()
  iio: consumers: Fix offset handling in iio_convert_raw_to_processed()
  iio: consumers: Add an iio_multiply_value() helper function
  iio: Improve iio_read_channel_processed_scale() precision
  iio: test: Add kunit tests for iio_multiply_value()
  iio: adc: Add Intel Dollar Cove TI PMIC ADC driver

 drivers/iio/adc/Kconfig              |  11 +
 drivers/iio/adc/Makefile             |   1 +
 drivers/iio/adc/intel_dc_ti_adc.c    | 327 +++++++++++++++++++++++++++
 drivers/iio/inkern.c                 |  77 ++++---
 drivers/iio/test/Kconfig             |  12 +
 drivers/iio/test/Makefile            |   1 +
 drivers/iio/test/iio-test-multiply.c | 209 +++++++++++++++++
 include/linux/iio/consumer.h         |  18 ++
 8 files changed, 621 insertions(+), 35 deletions(-)
 create mode 100644 drivers/iio/adc/intel_dc_ti_adc.c
 create mode 100644 drivers/iio/test/iio-test-multiply.c

-- 
2.49.0


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2025-08-31  9:18 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-11 15:54 [PATCH v4 0/6] iio: processed channel handling fixes + Intel Dollar Cove TI PMIC ADC driver Hans de Goede
2025-08-11 15:54 ` [PATCH v4 1/6] iio: consumers: Fix handling of negative channel scale in iio_convert_raw_to_processed() Hans de Goede
2025-08-11 19:19   ` Andy Shevchenko
2025-08-12 15:57     ` Jonathan Cameron
2025-08-11 15:54 ` [PATCH v4 2/6] iio: consumers: Fix offset handling " Hans de Goede
2025-08-11 15:54 ` [PATCH v4 3/6] iio: consumers: Add an iio_multiply_value() helper function Hans de Goede
2025-08-11 19:34   ` Andy Shevchenko
2025-08-12 16:00     ` Jonathan Cameron
2025-08-11 15:54 ` [PATCH v4 4/6] iio: Improve iio_read_channel_processed_scale() precision Hans de Goede
2025-08-14 20:33   ` David Lechner
2025-08-11 15:54 ` [PATCH v4 5/6] iio: test: Add kunit tests for iio_multiply_value() Hans de Goede
2025-08-11 19:38   ` Andy Shevchenko
2025-08-16 13:41   ` Jonathan Cameron
2025-08-11 15:54 ` [PATCH v4 6/6] iio: adc: Add Intel Dollar Cove TI PMIC ADC driver Hans de Goede
2025-08-11 19:52   ` Andy Shevchenko
2025-08-31  9:18     ` Hans de Goede
2025-08-11 19:53 ` [PATCH v4 0/6] iio: processed channel handling fixes + " Andy Shevchenko
2025-08-22 11:05 ` Hans de Goede

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).