[PATCH v3 0/5] Fix ad7192 driver issues

From: fl . scratchpad
Date: Tue May 30 2023 - 03:53:36 EST


From: Fabrizio Lamarque <fl.scratchpad@xxxxxxxxx>

Here is a patch set to overcome a number of issues in current ad7192
adc driver implementation prevending the driver to be loaded and
behave correctly:

- null pointer dereference causing kernel panic on driver probe;
- wrong internal clock selection;
- use of "avdd" regulator name in place of vref (reference voltage);
- missing clock options in bindings docs only (already implemented).

The first two issues are regressions.

Backported patches have been tested on a platform with an ARM Cortex-A7
CPU from NXP with kernel 5.15.

As a side note, on the tested platform there is still an issue with a
pending interrupt that I worked around by setting the DRDY IRQ
to LEVEL in place of EDGE sensing. Also, setting IRQ_DISABLE_UNLAZY
flag does not help in my case.

You may find further information here:
https://lore.kernel.org/all/CAPJMGm4GaSjD6bdqMwCr2EVZGenWzT-nCCf3BMRaD1TSfAabpA@xxxxxxxxxxxxxx/

Version log:


v2->v3
- Reworded commit messages
- Split binding fixes

v1->v2
- Obtained ad7192_state from iio_dev pointer
- Added patch on bindings documentation


Fabrizio Lamarque (5):
iio: adc: ad7192: Fix null ad7192_state pointer access
iio: adc: ad7192: Fix internal/external clock selection
iio: adc: ad7192: Use VRef instead of AVdd as reference voltage source
dt-bindings: iio: ad7192: Add mandatory reference voltage source
dt-bindings: iio: ad7192: Allow selection of clock modes

.../bindings/iio/adc/adi,ad7192.yaml | 32 +++++++++++++++++--
drivers/iio/adc/ad7192.c | 31 +++++++++++++++---
2 files changed, 55 insertions(+), 8 deletions(-)

--
2.34.1