[PATCH v3 0/8] iio: adc: ti-ads1015: modernize resource management

Archit Anant <[email protected]>
Newsgroups org.kernel.vger.linux-iio,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
This series modernizes the ti-ads1015 by transitioning it
to a fully devm_ architecture.

By moving resource allocation, device registration, and runtime power
management to the devm_ infrastructure, the teardown sequence is now
guaranteed to execute safely in the reverse order of initialization.
This allows for the complete removal of the ads1015_remove() function,
eliminating boilerplate code and reducing the risk of future resource
leaks.

Also the driver's configuration logic has been updated to use
the modern FIELD_PREP() and FIELD_GET() macros, allowing the removal
of all custom _SHIFT macros and a redundant helper function.

Additionally, housekeeping patches are included to ensure header
includes remain alphabetically sorted, dev_err_probe() is used
consistently, and PM macros are updated to modern standards.

Changes in v3:
- Added Patch 7 to replace all custom _SHIFT macros with FIELD_PREP
  and FIELD_GET as requested by Jonathan Cameron.
- Added Patch 8 to inline ads1015_set_conv_mode() directly at call
  sites, allowing for the removal of the final _SHIFT macro.

Changes in v2:
- Split the monolithic v1 patch into a 6-patch series to isolate
  housekeeping, bug fixes, and API modernizations for easier review
  and backporting.
- Patch 1: Added to modernize PM ops and remove #ifdef CONFIG_PM.
- Patch 2: Added to fix a pre-existing PM leak on probe failure
  identified by Jonathan Cameron.
- Patch 3: Extracted header sorting into a prerequisite patch.
- Patch 4 & 5: Extracted the introduction of the local 'dev' pointer
  and dev_err_probe() conversions, suggested by Jonathan Cameron.
- Patch 6: Now contains only the devm_ conversions and the removal
  of ads1015_remove().

Archit Anant (8):
  iio: adc: ti-ads1015: use DEFINE_RUNTIME_DEV_PM_OPS()
  iio: adc: ti-ads1015: fix PM leak on probe failure
  iio: adc: ti-ads1015: sort headers alphabetically
  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: convert to fully managed resources
  iio: adc: ti-ads1015: replace custom shift macros with FIELD_PREP/GET
  iio: adc: ti-ads1015: inline ads1015_set_conv_mode()

 drivers/iio/adc/ti-ads1015.c | 176 ++++++++++++++++-------------------
 1 file changed, 81 insertions(+), 95 deletions(-)

-- 
2.39.5
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.