]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
sandbox: Add some missing {clr,set,clrset}bits variants
authorTom Rini <trini@konsulko.com>
Tue, 1 Jul 2025 18:42:57 +0000 (12:42 -0600)
committerTom Rini <trini@konsulko.com>
Thu, 10 Jul 2025 14:40:47 +0000 (08:40 -0600)
Add the 16, 32 and 64bit versions of the non-endian {clr,set,clrset}bits
macros.

Signed-off-by: Tom Rini <trini@konsulko.com>
arch/sandbox/include/asm/io.h

index f656f361cd52bec227e052cf3b58d3bf8449a69d..6e3f9547fee73a648c89578689229307b44c5a54 100644 (file)
@@ -74,7 +74,14 @@ void sandbox_write(void *addr, unsigned int val, enum sandboxio_size_t size);
 #define in_be32(a)     in_arch(l,be32,a)
 #define in_be16(a)     in_arch(w,be16,a)
 
+#define out_64(a,v)    writeq(v,a)
+#define out_32(a,v)    writel(v,a)
+#define out_16(a,v)    writew(v,a)
 #define out_8(a,v)     writeb(v,a)
+
+#define in_64(a)       readq(a)
+#define in_32(a)       readl(a)
+#define in_16(a)       readw(a)
 #define in_8(a)                readb(a)
 
 #define clrbits(type, addr, clear) \
@@ -106,6 +113,18 @@ void sandbox_write(void *addr, unsigned int val, enum sandboxio_size_t size);
 #define setbits_8(addr, set) setbits(8, addr, set)
 #define clrsetbits_8(addr, clear, set) clrsetbits(8, addr, clear, set)
 
+#define clrbits_16(addr, clear) clrbits(16, addr, clear)
+#define setbits_16(addr, set) setbits(16, addr, set)
+#define clrsetbits_16(addr, clear, set) clrsetbits(16, addr, clear, set)
+
+#define clrbits_32(addr, clear) clrbits(32, addr, clear)
+#define setbits_32(addr, set) setbits(32, addr, set)
+#define clrsetbits_32(addr, clear, set) clrsetbits(32, addr, clear, set)
+
+#define clrbits_64(addr, clear) clrbits(64, addr, clear)
+#define setbits_64(addr, set) setbits(64, addr, set)
+#define clrsetbits_64(addr, clear, set) clrsetbits(64, addr, clear, set)
+
 /* I/O access functions */
 int _inl(unsigned int addr);
 int _inw(unsigned int addr);