[PATCH 0/3] iio: adc: xilinx-ams: refactor alarm handling to table-driven design
Guilherme Ivo Bozi
guilherme.bozi at usp.br
Tue Apr 14 02:29:27 PDT 2026
This series addresses significant code duplication in alarm handling
logic across the Xilinx AMS IIO driver.
An analysis of the codebase (ArKanjo explorer) revealed multiple
duplicated mappings between scan_index, alarm bits, and register
offsets.
To address this, the series introduces a centralized table-driven
mapping (alarm_map) that replaces multiple switch statements spread
across the driver.
This improves:
- maintainability (single source of truth for mappings)
- readability (removes repeated switch logic)
- extensibility (new alarms require only table updates)
No functional changes are intended.
Series overview:
- Patch 1: fix out-of-bounds channel lookup
- Patch 2: convert mutex handling to guard(mutex)
- Patch 3: introduce table-driven alarm mapping
Guilherme Ivo Bozi (3):
iio: adc: xilinx-ams: fix out-of-bounds channel lookup in event
handling
iio: adc: xilinx-ams: use guard(mutex) for automatic locking
iio: adc: xilinx-ams: refactor alarm mapping to table-driven approach
drivers/iio/adc/xilinx-ams.c | 192 +++++++++++++----------------------
1 file changed, 73 insertions(+), 119 deletions(-)
--
2.47.3
More information about the linux-arm-kernel
mailing list