|
@@ -86,20 +86,25 @@ extern void iounmap(void *addr);
|
|
|
#define readb(addr) (*(volatile unsigned char *) __io_virt(addr))
|
|
|
#define readw(addr) (*(volatile unsigned short *) __io_virt(addr))
|
|
|
#define readl(addr) (*(volatile unsigned int *) __io_virt(addr))
|
|
|
+#define readq(addr) (*(volatile unsigned long long *) __io_virt(addr))
|
|
|
|
|
|
#define readb_relaxed(addr) readb(addr)
|
|
|
#define readw_relaxed(addr) readw(addr)
|
|
|
#define readl_relaxed(addr) readl(addr)
|
|
|
+#define readq_relaxed(addr) readq(addr)
|
|
|
#define __raw_readb readb
|
|
|
#define __raw_readw readw
|
|
|
#define __raw_readl readl
|
|
|
+#define __raw_readq readq
|
|
|
|
|
|
#define writeb(b,addr) (*(volatile unsigned char *) __io_virt(addr) = (b))
|
|
|
#define writew(b,addr) (*(volatile unsigned short *) __io_virt(addr) = (b))
|
|
|
#define writel(b,addr) (*(volatile unsigned int *) __io_virt(addr) = (b))
|
|
|
+#define writeq(b,addr) (*(volatile unsigned long long *) __io_virt(addr) = (b))
|
|
|
#define __raw_writeb writeb
|
|
|
#define __raw_writew writew
|
|
|
#define __raw_writel writel
|
|
|
+#define __raw_writeq writeq
|
|
|
|
|
|
#define memset_io(a,b,c) memset(__io_virt(a),(b),(c))
|
|
|
#define memcpy_fromio(a,b,c) memcpy((a),__io_virt(b),(c))
|