devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 00/11] Add support for AD7091R-2/-4/-8
@ 2023-12-19 20:25 Marcelo Schmitt
  2023-12-19 20:26 ` [PATCH v5 01/11] iio: adc: ad7091r: Allow users to configure device events Marcelo Schmitt
                   ` (11 more replies)
  0 siblings, 12 replies; 16+ messages in thread
From: Marcelo Schmitt @ 2023-12-19 20:25 UTC (permalink / raw)
  To: apw, joe, dwaipayanray1, lukas.bulwahn, paul.cercueil,
	Michael.Hennerich, lars, jic23, robh+dt, krzysztof.kozlowski+dt,
	conor+dt, dan.carpenter, dlechner, marcelo.schmitt1
  Cc: linux-iio, devicetree, linux-kernel

From: Marcelo Schmitt <marcelo.schmitt1@gmail.com>

----------------- Updates -----------------

Applied all suggestions. 
Only submitting patches not applied on v4:
Patches after ("Align arguments to function call parenthesis").

Change log v4 -> v5:
- Patch 1: Event callbacks
  * Moved to begin of the series to easy backport;
  * Reverted to original event attributes;
  * Reworked event configuration to do per direction per channel enable/disable;
  * Improved commit message;
  * Added fixes tag;
  * Added Suggested-by tag.
- Patch 2: Enable internal vref
  * Added fixes tag and improved commit message;
  * Now earlier in the series to easy backport;
  * Used regmap_set_bits() to make code more neat.
- Patch 3: Move generic AD7091R code
  * event specs moved earlier in patch 1.
- Patch 4: Move chip init data
  * Renamed field to make initialization clearer: irq_info -> info_irq.
  * Fixed ad7091r_init_info initialization by passing pointers to info structs;
- Patch 10: Add ad7091r8 support
  * Moved bitfield.h include to patch event callbacks patch;
  * Dropped GPIO consumer include on ad7091r-base.h and added gpio_desc;
  * Removed extra space before devm_gpiod_get_optional().

So, since we are already fixing a few things here, maybe it's a good time to
comment about the event ABI.
I see the event config files under events directory appearing as
in_voltage0_thresh_falling_value
in_voltage0_thresh_rising_value
in_voltage1_thresh_falling_value
and so on.
They don't have the `_raw` part of the name as documented in the IIO ABI [1].
Not sure if that is how it's intended to be, the driver is still missing
something, or maybe ABI is somehow outdated.
Anyway, if that is also something to be fixed then let me know I'll have a look
at it.

[1]: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git/tree/Documentation/ABI/testing/sysfs-bus-iio#n887

Thanks,
Marcelo

----------------- Context -----------------

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.

Changes have been tested with raspberrypi and eval board on raspberrypi kernel
6.7-rc3 from raspberrypi fork.
Link: https://wiki.analog.com/resources/tools-software/linux-drivers/iio-adc/ad7091r8


Marcelo Schmitt (11):
  iio: adc: ad7091r: Allow users to configure device events
  iio: adc: ad7091r: Enable internal vref if external vref is not
    supplied
  iio: adc: ad7091r: Move generic AD7091R code to base driver and header
    file
  iio: adc: ad7091r: Move chip init data to container struct
  iio: adc: ad7091r: Remove unneeded probe parameters
  iio: adc: ad7091r: Set device mode through chip_info callback
  iio: adc: ad7091r: Add chip_info callback to get conversion result
    channel
  iio: adc: Split AD7091R-5 config symbol
  dt-bindings: iio: Add AD7091R-8
  iio: adc: Add support for AD7091R-8
  MAINTAINERS: Add MAINTAINERS entry for AD7091R

 .../bindings/iio/adc/adi,ad7091r5.yaml        |  82 +++++-
 MAINTAINERS                                   |   8 +
 drivers/iio/adc/Kconfig                       |  16 ++
 drivers/iio/adc/Makefile                      |   4 +-
 drivers/iio/adc/ad7091r-base.c                | 269 +++++++++++------
 drivers/iio/adc/ad7091r-base.h                |  83 +++++-
 drivers/iio/adc/ad7091r5.c                    | 120 ++++----
 drivers/iio/adc/ad7091r8.c                    | 272 ++++++++++++++++++
 8 files changed, 714 insertions(+), 140 deletions(-)
 create mode 100644 drivers/iio/adc/ad7091r8.c

-- 
2.42.0


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2023-12-26 15:45 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-19 20:25 [PATCH v5 00/11] Add support for AD7091R-2/-4/-8 Marcelo Schmitt
2023-12-19 20:26 ` [PATCH v5 01/11] iio: adc: ad7091r: Allow users to configure device events Marcelo Schmitt
2023-12-19 20:26 ` [PATCH v5 02/11] iio: adc: ad7091r: Enable internal vref if external vref is not supplied Marcelo Schmitt
2023-12-19 20:27 ` [PATCH v5 03/11] iio: adc: ad7091r: Move generic AD7091R code to base driver and header file Marcelo Schmitt
2023-12-19 20:27 ` [PATCH v5 04/11] iio: adc: ad7091r: Move chip init data to container struct Marcelo Schmitt
2023-12-19 20:28 ` [PATCH v5 05/11] iio: adc: ad7091r: Remove unneeded probe parameters Marcelo Schmitt
2023-12-19 20:28 ` [PATCH v5 06/11] iio: adc: ad7091r: Set device mode through chip_info callback Marcelo Schmitt
2023-12-19 20:29 ` [PATCH v5 07/11] iio: adc: ad7091r: Add chip_info callback to get conversion result channel Marcelo Schmitt
2023-12-19 20:29 ` [PATCH v5 08/11] iio: adc: Split AD7091R-5 config symbol Marcelo Schmitt
2023-12-19 20:32 ` [PATCH v5 09/11] dt-bindings: iio: Add AD7091R-8 Marcelo Schmitt
2023-12-19 20:32 ` [PATCH v5 10/11] iio: adc: Add support for AD7091R-8 Marcelo Schmitt
2023-12-19 20:32 ` [PATCH v5 11/11] MAINTAINERS: Add MAINTAINERS entry for AD7091R Marcelo Schmitt
2023-12-21 16:59   ` Jonathan Cameron
2023-12-22 12:49     ` Marcelo Schmitt
2023-12-26 15:45       ` Jonathan Cameron
2023-12-21 16:53 ` [PATCH v5 00/11] Add support for AD7091R-2/-4/-8 Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).