[PATCH v7 00/11] iio: adc: hx711: add HX710B support

Piyush Patle posted 11 patches 1 month ago
There is a newer version of this series
.../bindings/iio/adc/avia-hx711.yaml          |  77 ++++-
drivers/iio/adc/Kconfig                       |   8 +-
drivers/iio/adc/hx711.c                       | 304 ++++++++++++++----
3 files changed, 314 insertions(+), 75 deletions(-)
[PATCH v7 00/11] iio: adc: hx711: add HX710B support
Posted by Piyush Patle 1 month ago
Add support for the AVIA HX710B ADC, a HX711-compatible converter with
the same GPIO interface but a different channel-selection model and a
fixed gain of 128.

Compared to v6, this series folds in the remaining review feedback:

- patch 02: drop the incorrect "No functional change" and the forward
  reference to HX710B from the VSUP commit message (Krzysztof Kozlowski)
- patch 03: drop the incorrect "No functional change" from the RATE GPIO
  commit message (Krzysztof Kozlowski)
- patch 05: remove trailing inner commas from the struct initializers
  (Andy Shevchenko); do not carry the stray trailing-newline removal
- patch 06: add Reviewed-by from Andy Shevchenko
- patch 08: remove the extra blank lines added between the split
  declarations and their first use in hx711_read() and hx711_reset()
  (Andy Shevchenko, Jonathan Cameron)
- patch 09: move HX711_DATA_BITS above the "gain to pulse and scale
  conversion" comment so the constant is not semantically grouped with
  the gain-to-pulse machinery (Andy Shevchenko)
- patch 10: add a blank line before the bare return 0 at the end of
  hx711_set_hx711_channel() (Jonathan Cameron)
- patch 11: remove the explicit u32 pad member from the triggered-buffer
  struct; aligned_s64 provides the necessary alignment on its own
  (Jonathan Cameron); add a comment explaining why the layout change does
  not break the existing HX711 ABI (Andy Shevchenko)

The DT binding and driver structure are unchanged from v6.

Tested on PocketBeagle2 with an HX710B breakout module. The device
probed successfully, all three channels returned stable raw readings,
and alternating reads confirmed channel switching between the
differential input and the DVDD-AVDD supply monitor path.

Build-tested with:
- make -s W=1 drivers/iio/adc/hx711.o
- make -s dt_binding_check \
  DT_SCHEMA_FILES=Documentation/devicetree/bindings/iio/adc/avia-hx711.yaml
- pahole -C hx711_chip_info drivers/iio/adc/hx711.o

Note: patch 08 produces a checkpatch warning ("Missing a blank line after
declarations") for the hx711_reset() change. This is intentional as both
Andy Shevchenko and Jonathan Cameron explicitly requested the blank line
be removed so the split declaration and its initializing assignment are
treated as a unit.

Piyush Patle (11):
  dt-bindings: iio: adc: hx711: clean up existing binding text
  dt-bindings: iio: adc: hx711: add VSUP supply property
  dt-bindings: iio: adc: hx711: add RATE GPIO property
  dt-bindings: iio: adc: hx711: add HX710B support
  iio: adc: hx711: move scale computation to per-device storage
  iio: adc: hx711: introduce hx711_chip_info structure
  iio: adc: hx711: pass trailing pulse count into hx711_read
  iio: adc: hx711: split variable assignments in hx711_read and
    hx711_reset
  iio: adc: hx711: localize loop iterators in hx711_read
  iio: adc: hx711: pass iio_chan_spec to hx711_reset_read
  iio: adc: hx711: add support for HX710B

 .../bindings/iio/adc/avia-hx711.yaml          |  77 ++++-
 drivers/iio/adc/Kconfig                       |   8 +-
 drivers/iio/adc/hx711.c                       | 304 ++++++++++++++----
 3 files changed, 314 insertions(+), 75 deletions(-)

-- 
2.43.0