mbox series

[v2,0/7] Add support for AD7091R-2/-4/-8

Message ID cover.1700751907.git.marcelo.schmitt1@gmail.com
Headers show
Series Add support for AD7091R-2/-4/-8 | expand

Message

Marcelo Schmitt Nov. 23, 2023, 4:29 p.m. UTC
From: Marcelo Schmitt <marcelo.schmitt1@gmail.com>

This series adds support for AD7091R-2/-4/-8 ADCs which can do single shot
or sequenced readings. Threshold events are also supported.
Overall, AD7091R-2/-4/-8 are very similar to AD7091R-5 except they use SPI interface.

This has been tested with raspberrypi and eval board on kernel 6.1 from ADI fork.
Link: https://wiki.analog.com/resources/tools-software/linux-drivers/iio-adc/ad7091r8

I ran get_maintainers on driver files but completely forgot to run it on the
yaml doc, my bad.
I made the changes requested so far.
For v2, I also ran dt_binding_check on iio testing branch to check out for any
additional dt-schema issues. None reported.
Didn't see any other warn after running Sparse, Smatch, and Coccicheck.
I get a warn from checkpatch about IIO_DMA_MINALIGN which I don't know how to fix :(

Change log v1 -> v2:
- Added device tree related To/Cc recipients.
- Removed extra print of error code
- $ref: "adc.yaml" -> $ref: adc.yaml
- Fixed defined but not used build warn
- Moved dt documentation of required properties to after patternProperties.
- Removed incorrect return before regmap_update_bits().

Marcelo Schmitt (7):
  iio: adc: ad7091r-base: Set alert config and drvdata
  MAINTAINERS: Add MAINTAINERS entry for AD7091R
  iio: adc: ad7091r: Move defines to header file
  iio: adc: ad7091r: Alloc IIO device before generic probe
  dt-bindings: iio: Add binding documentation for AD7091R-8
  iio: adc: Add support for AD7091R-8
  iio: adc: ad7091r-base: Add debugfs reg access

 .../bindings/iio/adc/adi,ad7091r8.yaml        | 101 +++++++
 MAINTAINERS                                   |  12 +
 drivers/iio/adc/Kconfig                       |  16 ++
 drivers/iio/adc/Makefile                      |   4 +-
 drivers/iio/adc/ad7091r-base.c                | 114 +++++---
 drivers/iio/adc/ad7091r-base.h                |  64 ++++-
 drivers/iio/adc/ad7091r5.c                    |  55 ++--
 drivers/iio/adc/ad7091r8.c                    | 270 ++++++++++++++++++
 8 files changed, 549 insertions(+), 87 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7091r8.yaml
 create mode 100644 drivers/iio/adc/ad7091r8.c

Comments

Jonathan Cameron Nov. 25, 2023, 4:08 p.m. UTC | #1
On Thu, 23 Nov 2023 13:29:12 -0300
Marcelo Schmitt <marcelo.schmitt@analog.com> wrote:

> From: Marcelo Schmitt <marcelo.schmitt1@gmail.com>
> 
> This series adds support for AD7091R-2/-4/-8 ADCs which can do single shot
> or sequenced readings. Threshold events are also supported.
> Overall, AD7091R-2/-4/-8 are very similar to AD7091R-5 except they use SPI interface.
> 
> This has been tested with raspberrypi and eval board on kernel 6.1 from ADI fork.
> Link: https://wiki.analog.com/resources/tools-software/linux-drivers/iio-adc/ad7091r8
> 
> I ran get_maintainers on driver files but completely forgot to run it on the
> yaml doc, my bad.
> I made the changes requested so far.
> For v2, I also ran dt_binding_check on iio testing branch to check out for any
> additional dt-schema issues. None reported.
> Didn't see any other warn after running Sparse, Smatch, and Coccicheck.
> I get a warn from checkpatch about IIO_DMA_MINALIGN which I don't know how to fix :(

Fix checkpatch :)
It has some exclusions for some of the warnings so probably look at what was added
to avoid issues with __cacheline_aligned and friends.
https://elixir.bootlin.com/linux/latest/source/scripts/checkpatch.pl#L515


> 
> Change log v1 -> v2:
> - Added device tree related To/Cc recipients.
> - Removed extra print of error code
> - $ref: "adc.yaml" -> $ref: adc.yaml
> - Fixed defined but not used build warn
> - Moved dt documentation of required properties to after patternProperties.
> - Removed incorrect return before regmap_update_bits().
> 
> Marcelo Schmitt (7):
>   iio: adc: ad7091r-base: Set alert config and drvdata
>   MAINTAINERS: Add MAINTAINERS entry for AD7091R
>   iio: adc: ad7091r: Move defines to header file
>   iio: adc: ad7091r: Alloc IIO device before generic probe
>   dt-bindings: iio: Add binding documentation for AD7091R-8
>   iio: adc: Add support for AD7091R-8
>   iio: adc: ad7091r-base: Add debugfs reg access
> 
>  .../bindings/iio/adc/adi,ad7091r8.yaml        | 101 +++++++
>  MAINTAINERS                                   |  12 +
>  drivers/iio/adc/Kconfig                       |  16 ++
>  drivers/iio/adc/Makefile                      |   4 +-
>  drivers/iio/adc/ad7091r-base.c                | 114 +++++---
>  drivers/iio/adc/ad7091r-base.h                |  64 ++++-
>  drivers/iio/adc/ad7091r5.c                    |  55 ++--
>  drivers/iio/adc/ad7091r8.c                    | 270 ++++++++++++++++++
>  8 files changed, 549 insertions(+), 87 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7091r8.yaml
>  create mode 100644 drivers/iio/adc/ad7091r8.c
>