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