[PATCH 0/1] scsi: arm: Convert acornscsi-io.S to C
From: Breno Rodrigues Alves
Date: Thu Oct 22 2026 - 14:48:59 EST
This series contains a single mechanical conversion of the Acorn SCSI
card I/O helpers from ARM assembly to C.
The new acornscsi-io.h carries the prototypes for both helpers and is
included from acornscsi-io.c and acornscsi.c, replacing the
block-scoped extern declarations that the latter used to carry. The
first argument is now typed as (void __iomem *), matching what
acornscsi.c actually passes; the assembly version had no C prototype,
so the original comment declaring that argument as unsigned int was
never enforced.
No functional change is intended for even-length transfers, which is
what all current callers use. Odd-length transfers now no longer lose
the final byte.
Testing:
- userspace unit test mocking readl/writel/writeb verified byte-exact
equivalence with the original assembly for transfer lengths 0, 2,
4, 8, 16, 32, 64, 100, 512 and 1000
- cross-compiled for ARM with arm-linux-gnueabi on rpc_defconfig; the
module links cleanly and nm shows both helpers as global text
symbols
- checkpatch.pl --strict reports 0 errors, 0 warnings, 0 checks
(FILE_PATH_CHANGES ignored: drivers/scsi/arm/ is already covered by
MAINTAINERS)
Breno (1):
scsi: arm: Convert acornscsi-io.S to C
drivers/scsi/arm/acornscsi-io.S | 116 ------------
drivers/scsi/arm/acornscsi-io.c | 170 ++++++++++++++++++++++++
drivers/scsi/arm/acornscsi-io.h | 15 ++++
drivers/scsi/arm/acornscsi.c | 3 +-
4 files changed, 184 insertions(+), 137 deletions(-)