[PATCH v4 next 0/6] IIO: sca3000: devm resource management

From: Harshit Mogalapalli

Date: Wed Feb 04 2026 - 01:12:47 EST


This is an attempt to update sca3000 accelerometer driver to make use
of devm_ based helpers where needed. I have split it into 6 patches.

Patch 1 - some refactoring and simplification of dev.
Patch 2 - switches request_threaded_irq() over to the devm helper
Patch 3 - make stop_all_interrupts() return void
Patch 4 - Make use of guard() in sca3000_stop_all_interrupts() function.
Patch 5 - Used devm_add_action_or_reset() for disabling interrupts.
(Ensured the ordering of teardown bits remain same)
Patch 6 - manage device registration with devm helper

Thanks to David and Jonathan for reviewing v1 and v2.

Yet to be addressed tasks: (Would like to take this up as a separate
activity)
1. We shouldn't be using the spi_device_id at all. [Thanks to onathan
and David]
2. Modernize other functions to make use of autocleanup style locking
which simpifies the code and makes error paths cleaner.

I will be working on these two above tasks and will be sending a
different patches for those.

The series builds cleanly and I have performed static analysis with
smatch checker but haven't tested on actual hardware.

v1 -> v2: changes are documented in patches where necessary.
v2 -> v3: Address comments from David Lechner.
v3 -> v4: Address comments from Andy.

Thanks for your time.

Regards,
Harshit


Harshit Mogalapalli (6):
iio: sca3000: reuse device pointer for devm helpers
iio: sca3000: switch IRQ handling to devm helpers
iio: sca3000: make stop_all_interrupts() return void
iio: sca3000: use guard(mutex) to simplify return paths
iio: sca3000: stop interrupts via devm_add_action_or_reset()
iio: sca3000: manage device registration with devm helper

drivers/iio/accel/sca3000.c | 88 +++++++++++++++----------------------
1 file changed, 35 insertions(+), 53 deletions(-)

--
2.47.3