[PATCH v4 00/13] Support more parts in LTC2983

From: Cosmin Tanislav
Date: Thu Nov 03 2022 - 09:01:13 EST


Add support for the following parts:
* LTC2984
* LTC2986
* LTM2985

The LTC2984 is a variant of the LTC2983 with EEPROM.
The LTC2986 is a variant of the LTC2983 with only 10 channels,
EEPROM and support for active analog temperature sensors.
The LTM2985 is software-compatible with the LTC2986.

Also, make bulk write buffer DMA-safe.
Besides that, refine the binding.

V1 -> V2:
* add Fixes tag
* add patch that fixes the regmap_bulk_write() call with stack allocated
buffer
* add patch that refines the binding in preperation for adding new
parts support to it
* do not use stack allocated buffer for writing the EEPROM key

V2 -> V3:
* drop minItems if equal to maxItems
* drop adi,single-ended conditions because of recent dtschema
restrictions (even though they're valid in jsonschema and the last
dtschema tag)
* drop "allocate iio channels once" patch since it's been picked as a fix

V3 -> V4:
* add pipe for 'adi,mux-delay-config-us' description
* add pipe for 'adi,rtd-curve' description
* keep newlines after descriptions
* move 'adi,current-rotate' to conditional
* put 'adi,custom-steinhart' in the original place
* keep 'minItems' for 'adi,custom-steinhart'
* override 'enum' to forbid auto-range in 'adi,excitation-current-nanoamp'
when using custom thermistors
* split refine patch into multiple patches
- use generic node name in example
- describe broken mux delay property
- refine descriptions
- change default excitation for custom thermistors
- require 4 wire rtd for current rotate
- require custom sensor tables
- describe matrix items
- remove qutations from phandle ref
- use hex for sensor address
- add default values

Cosmin Tanislav (13):
iio: temperature: ltc2983: make bulk write buffer DMA-safe
dt-bindings: iio: temperature: ltc2983: add default values
dt-bindings: iio: temperature: ltc2983: use hex for sensor address
dt-bindings: iio: temperature: ltc2983: remove qutations from phandle
ref
dt-bindings: iio: temperature: ltc2983: describe matrix items
dt-bindings: iio: temperature: ltc2983: require custom sensor tables
dt-bindings: iio: temperature: ltc2983: require 4 wire rtd for current
rotate
dt-bindings: iio: temperature: ltc2983: change default excitation for
custom thermistors
dt-bindings: iio: temperature: ltc2983: refine descriptions
dt-bindings: iio: temperature: ltc2983: describe broken mux delay
property
dt-bindings: iio: temperature: ltc2983: use generic node name in
example
dt-bindings: iio: temperature: ltc2983: support more parts
iio: temperature: ltc2983: support more parts

.../bindings/iio/temperature/adi,ltc2983.yaml | 335 +++++++++++-------
drivers/iio/temperature/ltc2983.c | 193 +++++++++-
2 files changed, 389 insertions(+), 139 deletions(-)

--
2.38.1