]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
microblaze: Fix in/out_be8/16/32 functions
authorMichal Simek <monstr@monstr.eu>
Mon, 29 Aug 2011 10:47:07 +0000 (12:47 +0200)
committerMichal Simek <monstr@monstr.eu>
Thu, 27 Sep 2012 07:12:22 +0000 (09:12 +0200)
Use inline functions instead of macros because
of typechecking.

Signed-off-by: Michal Simek <monstr@monstr.eu>
arch/microblaze/include/asm/io.h

index 584cbce358c5aedeff87fb780bf5f9c4b99e95ed..add666e950fe73777be21a4fa76a7ae806cab182 100644 (file)
 #define outl(x, addr)  ((void) writel (x, addr))
 
 /* Some #definitions to keep strange Xilinx code happy */
-#define in_8(addr)     readb (addr)
-#define in_be16(addr)  readw (addr)
-#define in_be32(addr)  readl (addr)
+extern inline int in_8(volatile unsigned char *addr)
+{
+       return readb(addr);
+}
+
+extern inline int in_be16(volatile unsigned short *addr)
+{
+       return readw(addr);
+}
 
-#define out_8(addr,x ) outb (x,addr)
-#define out_be16(addr,x )      outw (x,addr)
-#define out_be32(addr,x )      outl (x,addr)
+extern inline int in_be32(volatile unsigned int *addr)
+{
+       return readl(addr);
+}
 
+extern inline void out_8(volatile unsigned char *addr, char val)
+{
+       outb(val, addr);
+}
+
+extern inline void out_be16(volatile unsigned short *addr, short val)
+{
+       outw(val, addr);
+}
+
+extern inline void out_be32(volatile unsigned int *addr, int val)
+{
+       outl(val, addr);
+}
 
 #define inb_p(port)            inb((port))
 #define outb_p(val, port)      outb((val), (port))