Use inline functions instead of macros because of typechecking. Signed-off-by: Michal Simek <mon...@monstr.eu> --- arch/microblaze/include/asm/io.h | 33 +++++++++++++++++++++++++++------ 1 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/arch/microblaze/include/asm/io.h b/arch/microblaze/include/asm/io.h index 7e190d1..a35700e 100644 --- a/arch/microblaze/include/asm/io.h +++ b/arch/microblaze/include/asm/io.h @@ -46,14 +46,35 @@ #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)) -- 1.5.5.6 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot