mbox series

[v3,0/5] Fix ad7192 driver issues

Message ID 20230530075311.400686-1-fl.scratchpad@gmail.com (mailing list archive)
Headers show
Series Fix ad7192 driver issues | expand

Message

Fabrizio Lamarque May 30, 2023, 7:53 a.m. UTC
From: Fabrizio Lamarque <fl.scratchpad@gmail.com>

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@mail.gmail.com/

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(-)