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