[PATCH v4 0/4] iio: adc: ad799x: modernize resource management

From: Archit Anant

Date: Sun Mar 08 2026 - 14:29:13 EST


This series modernizes the ad799x driver by converting all resource
management to the devm_ infrastructure. This results in cleaner
probe error handling and the removal of the ad799x_remove() function.

Changes in v4:
- Simplified voltage caching to use a single 'vref_uV' variable as
suggested by David Lechner.
- Capitalized 'uV' in variable names as suggested by Andy Shevchenko.
- Removed redundant 'if (ret < 0)' check in read_raw() (dead check).
- Used devm_mutex_init() to replace manual mutex handling.
- Introduced a local 'dev' pointer in probe() to simplify function calls.
- Switched to IIO_DECLARE_BUFFER_WITH_TS() for the buffer declaration.
- Moved goto removals into the respective patches where devm conversion
occurs.

Changes in v3:
- Split the monolithic v2 patch into 4 logical commits as requested by
Andy Shevchenko.

Changes in v2:
- Eliminated dynamic buffer allocation (feedback from David Lechner).
- Cached voltages to prevent devm/manual ordering hazards (feedback
from Jonathan Cameron).

Archit Anant (4):
iio: adc: ad799x: make rx_buf static
iio: adc: ad799x: cache regulator voltage during probe
iio: adc: ad799x: use devm_add_action_or_reset for regulators
iio: adc: ad799x: use devm_iio_device_register and drop remove

drivers/iio/adc/ad799x.c | 101 +++++++++++++++++----------------------
1 file changed, 44 insertions(+), 57 deletions(-)

--
2.39.5