OSDN Git Service

mn10300: add io{read,write}{16,32}be functions
authorGuenter Roeck <linux@roeck-us.net>
Mon, 20 Apr 2015 15:37:42 +0000 (08:37 -0700)
committerRob Herring <robh@kernel.org>
Thu, 23 Apr 2015 03:37:56 +0000 (22:37 -0500)
These functions are used in various drivers, including the latest
version of the 8250 driver. The latter causes the following build failure.

drivers/tty/serial/8250/8250_core.c: In function 'mem32be_serial_out':
drivers/tty/serial/8250/8250_core.c:456:2: error:
implicit declaration of function 'iowrite32be'
drivers/tty/serial/8250/8250_core.c: In function 'mem32be_serial_in':
drivers/tty/serial/8250/8250_core.c:462:2: error:
implicit declaration of function 'ioread32be'

Cc: Kevin Cernekee <cernekee@gmail.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Fixes: c627f2ceb692 ("serial: 8250: Add support for big-endian MMIO
accesses")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Rob Herring <robh@kernel.org>
arch/mn10300/include/asm/io.h

index 897ba3c..cc4a2ba 100644 (file)
@@ -197,6 +197,11 @@ static inline void outsl(unsigned long addr, const void *buffer, int count)
 #define iowrite16(v, addr)     writew((v), (addr))
 #define iowrite32(v, addr)     writel((v), (addr))
 
+#define ioread16be(addr)       be16_to_cpu(readw(addr))
+#define ioread32be(addr)       be32_to_cpu(readl(addr))
+#define iowrite16be(v, addr)   writew(cpu_to_be16(v), (addr))
+#define iowrite32be(v, addr)   writel(cpu_to_be32(v), (addr))
+
 #define ioread8_rep(p, dst, count) \
        insb((unsigned long) (p), (dst), (count))
 #define ioread16_rep(p, dst, count) \