]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
spi: spi-mem: Create a repeated address operation
authorMiquel Raynal <miquel.raynal@bootlin.com>
Fri, 9 Jan 2026 17:18:00 +0000 (18:18 +0100)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Thu, 29 Jan 2026 19:21:38 +0000 (20:21 +0100)
In octal DTR mode addresses may either be long enough to cover at least
two bytes (in which case the existing macro works), or otherwise for
single byte addresses, the byte must also be duplicated and sent twice:
on each front of the clock.

Create a macro for this common case.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
include/linux/spi/spi-mem.h

index e4db0924898ce5b17d2b6d4269495bb968db2871..5774e554c0f0276eb2a9653be0a613ae70ff6a76 100644 (file)
                .dtr = true,                                    \
        }
 
+#define SPI_MEM_DTR_OP_RPT_ADDR(__val, __buswidth)             \
+       {                                                       \
+               .nbytes = 2,                                    \
+               .val = __val | __val << 8,                      \
+               .buswidth = __buswidth,                         \
+               .dtr = true,                                    \
+       }
+
 #define SPI_MEM_OP_NO_ADDR     { }
 
 #define SPI_MEM_OP_DUMMY(__nbytes, __buswidth)                 \