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

Message ID 20221103130041.2153295-1-demonsingur@gmail.com
Headers
Series Support more parts in LTC2983 |

Message

Cosmin Tanislav Nov. 3, 2022, 1 p.m. UTC
  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(-)
  

Comments

Jonathan Cameron Nov. 6, 2022, 5:14 p.m. UTC | #1
On Thu,  3 Nov 2022 15:00:28 +0200
Cosmin Tanislav <demonsingur@gmail.com> wrote:

> 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.
Replying at least partly so I can see I already looked at this...

Looks good to me.  Will pick up once DT bindings maintainers are
happy.

Thanks,

Jonathan

> 
> 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(-)
>
  
Jonathan Cameron Nov. 12, 2022, 3:44 p.m. UTC | #2
On Sun, 6 Nov 2022 17:14:58 +0000
Jonathan Cameron <jic23@kernel.org> wrote:

> On Thu,  3 Nov 2022 15:00:28 +0200
> Cosmin Tanislav <demonsingur@gmail.com> wrote:
> 
> > 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.  
> Replying at least partly so I can see I already looked at this...
> 
> Looks good to me.  Will pick up once DT bindings maintainers are
> happy.

Series applied to the togreg branch of iio.git and initially pushed out
as testing.  I tweaked patch 11 as requested whilst applying.

Thanks,

Jonathan
> 
> Thanks,
> 
> Jonathan
> 
> > 
> > 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(-)
> >   
>