[PATCH 0/4] iio: magnetometer: rm3100: Modernize locking and control flow
From: Maxwell Doose
Date: Tue Apr 28 2026 - 08:59:34 EST
The goal of this patch series is to replace the manual mutex_lock() and
mutex_unlock() calls in rm3100-core.c with their more modern
counterparts, guard(mutex)() and scoped_guard(). I've also done some
minor cleanups, removing what are now redundant gotos, and enabling
direct returns.
Following feedback on recent commits, I've learned that it's a better
idea to split changes to be more atomic, and I've done that here in
case any particular change *somehow* causes a build regression. The
changes have been test-compiled however, and according to make, smatch,
and sparse, should be sound.
=== Changelog ===
v2:
- Added small style fixes per Andy's suggestions (Adding blank lines,
moving an if statement in a scoped_guard block).
- Switched out scoped_guard() for guard(mutex)() in certain commits.
- Fixed error in commit 4 where deadlocks could occur, as goto ignores
__attribute__((cleanup)). This has been fixed by the above.
Maxwell Doose (4):
iio: magnetometer: rm3100: Use guard(mutex)() in rm3100_read_mag()
iio: magnetometer: rm3100: Use scoped_guard() in
rm3100_get_samp_freq()
iio: magnetometer: rm3100: Use guard(mutex)() in
rm3100_set_samp_freq()
iio: magnetometer: rm3100: Use guard(mutex)() in
rm3100_trigger_handler()
drivers/iio/magnetometer/rm3100-core.c | 63 ++++++++++----------------
1 file changed, 24 insertions(+), 39 deletions(-)
--
2.53.0