diff options
author | Haavard Skinnemoen | 2007-12-13 12:56:31 +0100 |
---|---|---|
committer | Stefan Roese | 2007-12-13 13:15:04 +0100 |
commit | 812711ce6b3a386125dcf0d6a59588e461abbb87 (patch) | |
tree | 7aa549af060b380507eb6da479a11ac63fb34968 /include/asm-nios2/io.h | |
parent | be60a9021c82fc5aecd5b2b1fc96f70a9c81bbcd (diff) |
Implement __raw_{read,write}[bwl] on all architectures
This adds implementations of __raw_read[bwl] and __raw_write[bwl] to
m68k, ppc, nios and nios2. The m68k and ppc implementations were taken
from Linux.
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Diffstat (limited to 'include/asm-nios2/io.h')
-rw-r--r-- | include/asm-nios2/io.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/asm-nios2/io.h b/include/asm-nios2/io.h index 5bb5322952f..54cbd57c06e 100644 --- a/include/asm-nios2/io.h +++ b/include/asm-nios2/io.h @@ -33,6 +33,14 @@ extern unsigned char inb (unsigned char *port); extern unsigned short inw (unsigned short *port); extern unsigned inl (unsigned port); +#define __raw_writeb(v,a) (*(volatile unsigned char *)(a) = (v)) +#define __raw_writew(v,a) (*(volatile unsigned short *)(a) = (v)) +#define __raw_writel(v,a) (*(volatile unsigned int *)(a) = (v)) + +#define __raw_readb(a) (*(volatile unsigned char *)(a)) +#define __raw_readw(a) (*(volatile unsigned short *)(a)) +#define __raw_readl(a) (*(volatile unsigned int *)(a)) + #define readb(addr)\ ({unsigned char val;\ asm volatile( "ldbio %0, 0(%1)" :"=r"(val) : "r" (addr)); val;}) |