From patchwork Wed Aug 31 08:35:12 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [U-Boot,01/10] microblaze: Fix in/out_be8/16/32 functions From: Michal Simek X-Patchwork-Id: 112455 Message-Id: <1314779721-1113-2-git-send-email-monstr@monstr.eu> To: u-boot@lists.denx.de Date: Wed, 31 Aug 2011 10:35:12 +0200 Use inline functions instead of macros because of typechecking. Signed-off-by: Michal Simek --- 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))