[PATCH v6 0/7] iio: ssp_sensors: improve resource cleanup

From: Sanjay Chitroda

Date: Wed Apr 15 2026 - 01:08:03 EST


From: Sanjay Chitroda <sanjayembeddedse@xxxxxxxxx>

Hi all,

This patch series improves resource cleanup and error handling in the
SSP IIO SPI driver by adopting the recently introduced cleanup
helpers.

The changes focus on making probe/remove paths more robust and easier
to reason about by reducing manual unwind logic and ensuring that locks
and dynamically allocated resources are released consistently across
all exit paths.

Key highlights of this series:

- Reuse embedded rx buffer for SPI transfer instead of allocating new
DMA memory in interrupt context for write transaction between AP <-> HUB.
- Replace dynamic resource lifetime management with device‑managed
(devm_) APIs to simplify cleanup and error paths.
- Refactor common helper API, improving readability and reducing
duplicatation.
- Address minor codestyle warnings and use dev_err_probe in probe path.

Changes in v6:
- 0005: Drop remove() path using devm action with input from David
- 0007: Replace dynamic memory allocation with embedded fixed size struct buffer
- 0004: new: drop duplication in remove()
- 0006: new: Use dev_err_probe in driver probe()
Changes in v5:
- Drop usage of guard() helpers to avoid mixing mutex_lock() with
guard()(), based on reviewer feedback.
- 0003: Refactor shared helper API, reducing duplication.
- 0004: Convert resource allocation and teardown to devm_ managed APIs to
simplify error handling and probe/remove paths.
Changes in v4:
- Update sequence and make checkpatch style fix in base change
- Split WARNING and CHECK change with input of Andy as 0001 and 0002
- 0003: Use guard() instead of scoped_guard()
- 0004: Use preallocated buffer to stash memory allocation

No functional behavior changes are intended.

Testing:
- Compiled with W=1
- Build-tested on QEMU x86_64

Based on:
<linux-v7.0-rc5>

Feedback and reviews are very welcome.

Thanks,
Sanjay Chitroda

Sanjay Chitroda (7):
iio: ssp_sensors: cleanup codestyle warning
iio: ssp_sensors: cleanup codestyle check
iio: ssp_sensors: factor out pending list add/remove helper(s)
iio: ssp_sensors: drop duplicated wdt timer and work cleanup
iio: ssp_sensors: convert probe and teardown to devm-managed resources
iio: ssp_sensors: Use dev_err_probe
iio: ssp_sensors: reuse embedded RX buffer for SPI transfers

drivers/iio/common/ssp_sensors/ssp.h | 3 +
drivers/iio/common/ssp_sensors/ssp_dev.c | 119 ++++++++++-------------
drivers/iio/common/ssp_sensors/ssp_spi.c | 83 +++++++---------
3 files changed, 88 insertions(+), 117 deletions(-)

--
2.34.1