[PATCH v5 00/10] iio: adc: ti-ads1015: modernize resource management and bitfield logic
From: Archit Anant
Date: Wed Sep 30 2026 - 14:02:21 EST
This series modernizes the ti-ads1015 driver by updating its runtime PM
handling, error handling, resource management, and register bitfield
operations.
This series builds on top of Stepan Ionichev's devm error path fix [1] and:
- Replaces SET_RUNTIME_PM_OPS() with DEFINE_RUNTIME_DEV_PM_OPS().
- Sorts the driver headers alphabetically.
- Returns -ENODATA when match data is missing.
- Uses a local device pointer in probe.
- Converts suitable error paths to dev_err_probe().
- Drops unneeded '< 0' error checks for functions returning 0 or error.
- Converts mutex initialization to devm_mutex_init().
- Transitions runtime PM setup to devm_pm_runtime_set_active_enabled().
- Inlines the redundant ads1015_set_conv_mode() helper.
- Replaces custom shift macros with FIELD_PREP()/FIELD_GET().
[1] https://lore.kernel.org/all/20260529183708.17819-1-sozdayvek@xxxxxxxxx/
---
v5:
- Reordered patches: inlined ads1015_set_conv_mode() before applying
FIELD_PREP() to completely eliminate code churn.
- Extracted FIELD_PREP() evaluations into local variables for
regmap_update_bits() calls to ensure clean line lengths and readability.
- Added a patch to return -ENODATA when i2c_get_match_data() fails, as
requested by Andy Shevchenko.
- Split devm_mutex_init() into its own patch to decouple it from the
runtime PM modernization, as requested by Andy Shevchenko.
v4: https://lore.kernel.org/linux-iio/20260827172100.39176-1-architanant5@xxxxxxxxx/
Archit Anant (10):
iio: adc: ti-ads1015: use DEFINE_RUNTIME_DEV_PM_OPS()
iio: adc: ti-ads1015: sort headers alphabetically
iio: adc: ti-ads1015: return -ENODATA when match data is missing
iio: adc: ti-ads1015: use local device pointer in probe
iio: adc: ti-ads1015: use dev_err_probe() for error handling
iio: adc: ti-ads1015: drop unneeded < 0 error checks
iio: adc: ti-ads1015: use devm_mutex_init()
iio: adc: ti-ads1015: use managed runtime PM setup
iio: adc: ti-ads1015: inline ads1015_set_conv_mode()
iio: adc: ti-ads1015: replace custom shift macros with FIELD_PREP/GET
drivers/iio/adc/ti-ads1015.c | 160 +++++++++++++++++------------------
1 file changed, 76 insertions(+), 84 deletions(-)
--
2.39.5