diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2013-09-09 17:45:51 +0100 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2013-09-21 16:27:35 +0100 |
commit | 204cb1ec9f2456725492d44d724d3c9d6ba865f1 (patch) | |
tree | 0ae90057fdf24822d8c1822dafc714a03987ce11 /xen/drivers | |
parent | 45b187020098a9872b05a96c86d3f65d2404ec0c (diff) | |
download | xen-204cb1ec9f2456725492d44d724d3c9d6ba865f1.tar.gz xen-204cb1ec9f2456725492d44d724d3c9d6ba865f1.tar.bz2 xen-204cb1ec9f2456725492d44d724d3c9d6ba865f1.zip |
xen/arm: replace io{read,write}{l,b} with {read,write}{l,b}
We appear to have invented the io versions ourselves for Xen on ARM, while x86
has the plain read/write. (and so does Linux FWIW)
read/write are used in common driver code (specifically ns16550) so instead of
keeping our own variant around lets replace it with the more standard ones.
At the same time resync with Linux making the "based on" comment in both sets of
io.h somewhat true (they don't look to have been very based on before...). Our
io.h is now consistent with Linux v3.11.
Note that iowrite and write take their arguments in the opposite order.
Also make asm-arm/io.h useful and include it where necessary instead of picking
up the include from mm.h. Remove the include from mm.h
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Julien Grall <julien.grall@linaro.org>
Diffstat (limited to 'xen/drivers')
-rw-r--r-- | xen/drivers/char/exynos4210-uart.c | 5 | ||||
-rw-r--r-- | xen/drivers/char/omap-uart.c | 5 | ||||
-rw-r--r-- | xen/drivers/char/pl011.c | 5 |
3 files changed, 9 insertions, 6 deletions
diff --git a/xen/drivers/char/exynos4210-uart.c b/xen/drivers/char/exynos4210-uart.c index b297ed4a83..0a2ac17037 100644 --- a/xen/drivers/char/exynos4210-uart.c +++ b/xen/drivers/char/exynos4210-uart.c @@ -27,6 +27,7 @@ #include <asm/early_printk.h> #include <asm/device.h> #include <asm/exynos4210-uart.h> +#include <asm/io.h> static struct exynos4210_uart { unsigned int baud, clock_hz, data_bits, parity, stop_bits; @@ -43,8 +44,8 @@ static struct exynos4210_uart { #define FORCED_CHECKED_AS_ONE (0x6) #define FORCED_CHECKED_AS_ZERO (0x7) -#define exynos4210_read(uart, off) ioreadl((uart)->regs + off) -#define exynos4210_write(uart, off, val) iowritel((uart->regs) + off, val) +#define exynos4210_read(uart, off) readl((uart)->regs + off) +#define exynos4210_write(uart, off, val) writel(val, (uart->regs) + off) static void exynos4210_uart_interrupt(int irq, void *data, struct cpu_user_regs *regs) { diff --git a/xen/drivers/char/omap-uart.c b/xen/drivers/char/omap-uart.c index ffa71db921..321e636e86 100644 --- a/xen/drivers/char/omap-uart.c +++ b/xen/drivers/char/omap-uart.c @@ -22,11 +22,12 @@ #include <xen/mm.h> #include <xen/vmap.h> #include <xen/8250-uart.h> +#include <asm/io.h> #define REG_SHIFT 2 -#define omap_read(uart, off) ioreadl((uart)->regs + (off<<REG_SHIFT)) -#define omap_write(uart, off, val) iowritel((uart)->regs + (off<<REG_SHIFT), (val)) +#define omap_read(uart, off) readl((uart)->regs + (off<<REG_SHIFT)) +#define omap_write(uart, off, val) writel((val), (uart)->regs + (off<<REG_SHIFT)) static struct omap_uart { u32 baud, clock_hz, data_bits, parity, stop_bits, fifo_size; diff --git a/xen/drivers/char/pl011.c b/xen/drivers/char/pl011.c index 3386e2bc28..613b9ebfd7 100644 --- a/xen/drivers/char/pl011.c +++ b/xen/drivers/char/pl011.c @@ -29,6 +29,7 @@ #include <xen/mm.h> #include <xen/vmap.h> #include <asm/pl011-uart.h> +#include <asm/io.h> static struct pl011 { unsigned int baud, clock_hz, data_bits, parity, stop_bits; @@ -50,8 +51,8 @@ static struct pl011 { #define PARITY_MARK (PEN|SPS) #define PARITY_SPACE (PEN|EPS|SPS) -#define pl011_read(uart, off) ioreadl((uart)->regs + (off)) -#define pl011_write(uart, off,val) iowritel((uart)->regs + (off), (val)) +#define pl011_read(uart, off) readl((uart)->regs + (off)) +#define pl011_write(uart, off,val) writel((val), (uart)->regs + (off)) static void pl011_interrupt(int irq, void *data, struct cpu_user_regs *regs) { |