This patch changes the lm32 io.h header to use asm-generic variant.

As a result of this the non-stadard macros out_be32 and in_be32 are removed,
drivers are adjusted accordingly to use iowrite32be and ioread32be.

Signed-off-by: Lars-Peter Clausen <[email protected]>
---
 arch/lm32/Kconfig                 |    4 -
 arch/lm32/include/asm/hw/sysctl.h |   28 +++---
 arch/lm32/include/asm/hw/uart.h   |    8 +-
 arch/lm32/include/asm/io.h        |  201 +------------------------------------
 arch/lm32/include/asm/pci.h       |    1 +
 arch/lm32/kernel/process.c        |    2 +-
 arch/lm32/kernel/setup.c          |    6 +-
 arch/lm32/kernel/time.c           |    1 +
 arch/lm32/mm/Makefile             |    2 +-
 drivers/input/keyboard/softusb.c  |    6 +-
 drivers/input/serio/milkbd.c      |    6 +-
 drivers/input/serio/milkmouse.c   |    6 +-
 drivers/net/milkymist_minimac.c   |   38 ++++----
 drivers/serial/milkymist_uart.c   |   14 ++--
 14 files changed, 64 insertions(+), 259 deletions(-)

diff --git a/arch/lm32/Kconfig b/arch/lm32/Kconfig
index dbc20c9..0152450 100644
--- a/arch/lm32/Kconfig
+++ b/arch/lm32/Kconfig
@@ -21,10 +21,6 @@ config ZONE_DMA_FLAG
        int
        default 0
 
-config GENERIC_IOMAP
-       bool
-       default y
-
 config RWSEM_GENERIC_SPINLOCK
        bool
        default y
diff --git a/arch/lm32/include/asm/hw/sysctl.h 
b/arch/lm32/include/asm/hw/sysctl.h
index ba6a1da..f402a55 100644
--- a/arch/lm32/include/asm/hw/sysctl.h
+++ b/arch/lm32/include/asm/hw/sysctl.h
@@ -18,19 +18,21 @@
 #ifndef __HW_SYSCTL_H
 #define __HW_SYSCTL_H
 
-#define CSR_GPIO_IN            (0xe0001000)
-#define CSR_GPIO_OUT           (0xe0001004)
-#define CSR_GPIO_INTEN         (0xe0001008)
+#define CSR_REG(x) ((void __iomem *)(x))
 
-#define CSR_TIMER0_CONTROL     (0xe0001010)
-#define CSR_TIMER0_COMPARE     (0xe0001014)
-#define CSR_TIMER0_COUNTER     (0xe0001018)
+#define CSR_GPIO_IN            CSR_REG(0xe0001000)
+#define CSR_GPIO_OUT           CSR_REG(0xe0001004)
+#define CSR_GPIO_INTEN         CSR_REG(0xe0001008)
 
-#define CSR_TIMER1_CONTROL     (0xe0001020)
-#define CSR_TIMER1_COMPARE     (0xe0001024)
-#define CSR_TIMER1_COUNTER     (0xe0001028)
+#define CSR_TIMER0_CONTROL     CSR_REG(0xe0001010)
+#define CSR_TIMER0_COMPARE     CSR_REG(0xe0001014)
+#define CSR_TIMER0_COUNTER     CSR_REG(0xe0001018)
 
-#define CSR_TIMER(id, reg) (0xe0001010 + (0x10 * (id)) + (reg))
+#define CSR_TIMER1_CONTROL     CSR_REG(0xe0001020)
+#define CSR_TIMER1_COMPARE     CSR_REG(0xe0001024)
+#define CSR_TIMER1_COUNTER     CSR_REG(0xe0001028)
+
+#define CSR_TIMER(id, reg) CSR_REG(0xe0001010 + (0x10 * (id)) + (reg))
 
 #define CSR_TIMER_CONTROL(id) CSR_TIMER(id, 0x0)
 #define CSR_TIMER_COMPARE(id) CSR_TIMER(id, 0x4)
@@ -39,14 +41,14 @@
 #define TIMER_ENABLE           (0x01)
 #define TIMER_AUTORESTART      (0x02)
 
-#define CSR_ICAP               (0xe0001034)
+#define CSR_ICAP               CSR_REG(0xe0001034)
 
 #define ICAP_READY             (0x01)
 
 #define ICAP_CE                        (0x10000)
 #define ICAP_WRITE             (0x20000)
 
-#define CSR_CAPABILITIES       (0xe0001038)
-#define CSR_SYSTEM_ID          (0xe000103c)
+#define CSR_CAPABILITIES       CSR_REG(0xe0001038)
+#define CSR_SYSTEM_ID          CSR_REG(0xe000103c)
 
 #endif /* __HW_SYSCTL_H */
diff --git a/arch/lm32/include/asm/hw/uart.h b/arch/lm32/include/asm/hw/uart.h
index 5057c22..599f958 100644
--- a/arch/lm32/include/asm/hw/uart.h
+++ b/arch/lm32/include/asm/hw/uart.h
@@ -18,8 +18,10 @@
 #ifndef __HW_UART_H
 #define __HW_UART_H
 
-#define CSR_UART_RXTX          (0xe0000000)
-#define CSR_UART_DIVISOR       (0xe0000004)
-#define CSR_UART_THRU          (0xe0000008)
+#define CSR_REG(x) ((void __iomem *)(x))
+
+#define CSR_UART_RXTX          CSR_REG(0xe0000000)
+#define CSR_UART_DIVISOR       CSR_REG(0xe0000004)
+#define CSR_UART_THRU          CSR_REG(0xe0000008)
 
 #endif /* __HW_UART_H */
diff --git a/arch/lm32/include/asm/io.h b/arch/lm32/include/asm/io.h
index e866c77..4ee5d09 100644
--- a/arch/lm32/include/asm/io.h
+++ b/arch/lm32/include/asm/io.h
@@ -1,200 +1 @@
-/*
- * Based on:
- * include/asm-m68knommu/io.h
- */
-
-#ifndef _LM32_ASM_IO_H
-#define _LM32_ASM_IO_H
-
-/* TODO: #include <asm-generic/io.h> */
-
-#ifdef __KERNEL__
-
-#ifndef __ASSEMBLY__
-
-/*
- * swap functions are sometimes needed to interface little-endian hardware
- */
-static inline unsigned short _swapw(volatile unsigned short v)
-{
-    return ((v << 8) | (v >> 8));
-}
-
-static inline unsigned int _swapl(volatile unsigned long v)
-{
-    return ((v << 24) | ((v & 0xff00) << 8) | ((v & 0xff0000) >> 8) | (v >> 
24));
-}
-
-#define readb(addr) \
-    ({ unsigned char __v = (*(volatile unsigned char *) (addr)); __v; })
-#define readw(addr) \
-    ({ unsigned short __v = (*(volatile unsigned short *) (addr)); __v; })
-#define readl(addr) \
-    ({ unsigned int __v = (*(volatile unsigned int *) (addr)); __v; })
-
-#define readb_relaxed(addr) readb(addr)
-#define readw_relaxed(addr) readw(addr)
-#define readl_relaxed(addr) readl(addr)
-
-#define writeb(b,addr) (void)((*(volatile unsigned char *) (addr)) = (b))
-#define writew(b,addr) (void)((*(volatile unsigned short *) (addr)) = (b))
-#define writel(b,addr) (void)((*(volatile unsigned int *) (addr)) = (b))
-
-#define __raw_readb readb
-#define __raw_readw readw
-#define __raw_readl readl
-#define __raw_writeb writeb
-#define __raw_writew writew
-#define __raw_writel writel
-
-static inline void outsb(unsigned int addr, const void *buf, int len)
-{
-       volatile unsigned char *ap = (volatile unsigned char *) addr;
-       const unsigned char *bp = (const unsigned char *) buf;
-       while (len--)
-               *ap = *bp++;
-}
-
-static inline void outsw(unsigned int addr, const void *buf, int len)
-{
-       volatile unsigned short *ap = (volatile unsigned short *) addr;
-       const unsigned short *bp = (const unsigned short *) buf;
-       while (len--)
-               *ap = _swapw(*bp++);
-}
-
-static inline void outsl(unsigned int addr, const void *buf, int len)
-{
-       volatile unsigned int *ap = (volatile unsigned int *) addr;
-       const unsigned int *bp = (const unsigned int *) buf;
-       while (len--)
-               *ap = _swapl(*bp++);
-}
-
-static inline void insb(unsigned int addr, void *buf, int len)
-{
-       volatile unsigned char *ap = (volatile unsigned char *) addr;
-       unsigned char *bp = (unsigned char *) buf;
-       while (len--)
-               *bp++ = *ap;
-}
-
-static inline void insw(unsigned int addr, void *buf, int len)
-{
-       volatile unsigned short *ap = (volatile unsigned short *) addr;
-       unsigned short *bp = (unsigned short *) buf;
-       while (len--)
-               *bp++ = _swapw(*ap);
-}
-
-static inline void insl(unsigned int addr, void *buf, int len)
-{
-       volatile unsigned int *ap = (volatile unsigned int *) addr;
-       unsigned int *bp = (unsigned int *) buf;
-       while (len--)
-               *bp++ = _swapl(*ap);
-}
-
-#define mmiowb()
-
-/*
- *     make the short names macros so specific devices
- *     can override them as required
- */
-
-#define memset_io(a, b, c)     memset((void *)(a), (b), (c))
-#define memcpy_fromio(a, b, c) memcpy((a), (void *)(b), (c))
-#define memcpy_toio(a, b, c)   memcpy((void *)(a), (b), (c))
-
-#define inb(addr)    readb(addr)
-#define inw(addr)    readw(addr)
-#define inl(addr)    readl(addr)
-#define outb(x,addr) ((void) writeb(x, addr))
-#define outw(x,addr) ((void) writew(x, addr))
-#define outl(x,addr) ((void) writel(x, addr))
-
-#define inb_p(addr)    inb(addr)
-#define inw_p(addr)    inw(addr)
-#define inl_p(addr)    inl(addr)
-#define outb_p(x, addr) outb(x, addr)
-#define outw_p(x, addr) outw(x, addr)
-#define outl_p(x, addr) outl(x, addr)
-
-#define in_8(addr)     readb(addr)
-#define in_be16(addr)  readw(addr)
-#define in_be32(addr)  readl(addr)
-#define out_8(addr, b) ((void) writeb(b, addr))
-#define out_be16(addr, b) ((void)writew(b, addr))
-#define out_be32(addr, b) ((void)writel(b, addr))
-
-#define in_le16(addr)  __le16_to_cpu(readw(addr))
-#define in_le32(addr)  __le32_to_cpu(readl(addr))
-#define out_le16(b, addr) ((void)writew(__cpu_to_le16(b), addr))
-#define out_le32(b, addr) ((void)writel(__cpu_to_le32(b), addr))
-
-#define IO_SPACE_LIMIT 0xffffffff
-
-
-/* Values for nocacheflag and cmode */
-#define IOMAP_FULL_CACHING             0
-#define IOMAP_NOCACHE_SER              1
-#define IOMAP_NOCACHE_NONSER           2
-#define IOMAP_WRITETHROUGH             3
-
-extern void *__ioremap(unsigned long physaddr, unsigned long size, int 
cacheflag);
-extern void __iounmap(void *addr, unsigned long size);
-
-static inline void *ioremap(unsigned long physaddr, unsigned long size)
-{
-       return __ioremap(physaddr, size, IOMAP_NOCACHE_SER);
-}
-static inline void *ioremap_nocache(unsigned long physaddr, unsigned long size)
-{
-       return __ioremap(physaddr, size, IOMAP_NOCACHE_SER);
-}
-static inline void *ioremap_writethrough(unsigned long physaddr, unsigned long 
size)
-{
-       return __ioremap(physaddr, size, IOMAP_WRITETHROUGH);
-}
-static inline void *ioremap_fullcache(unsigned long physaddr, unsigned long 
size)
-{
-       return __ioremap(physaddr, size, IOMAP_FULL_CACHING);
-}
-
-extern void iounmap(void *addr);
-
-/* Nothing to do */
-#define dma_cache_inv(_start,_size)            do { } while (0)
-#define dma_cache_wback(_start,_size)          do { } while (0)
-#define dma_cache_wback_inv(_start,_size)      do { } while (0)
-
-/* Pages to physical address... */
-#define page_to_bus(page)       ((page - mem_map) << PAGE_SHIFT)
-
-/*
- * Macros used for converting between virtual and physical mappings.
- */
-#define mm_ptov(vaddr)         ((void *) (vaddr))
-#define mm_vtop(vaddr)         ((unsigned long) (vaddr))
-#define phys_to_virt(addr)     ((void *) (addr))
-#define virt_to_phys(addr)     ((unsigned long) (addr))
-
-#define virt_to_bus virt_to_phys
-#define bus_to_virt phys_to_virt
-
-/*
- * Convert a physical pointer to a virtual kernel pointer for /dev/mem
- * access
- */
-#define xlate_dev_mem_ptr(p)   __va(p)
-
-/*
- * Convert a virtual cached pointer to an uncached pointer
- */
-#define xlate_dev_kmem_ptr(p)  p
-
-#endif /* __ASSEMBLY__ */
-
-#endif /* __KERNEL__ */
-
-#endif /* _LM32_ASM_IO_H */
+#include <asm-generic/io.h>
diff --git a/arch/lm32/include/asm/pci.h b/arch/lm32/include/asm/pci.h
index e69de29..9f0df5f 100644
--- a/arch/lm32/include/asm/pci.h
+++ b/arch/lm32/include/asm/pci.h
@@ -0,0 +1 @@
+#include <asm-generic/pci.h>
diff --git a/arch/lm32/kernel/process.c b/arch/lm32/kernel/process.c
index 4de69bf..6fb1372 100644
--- a/arch/lm32/kernel/process.c
+++ b/arch/lm32/kernel/process.c
@@ -95,7 +95,7 @@ void cpu_idle(void)
 void machine_restart(char * __unused)
 {
        /* Writing to CSR_SYSTEM_ID causes a system reset */
-       out_be32(CSR_SYSTEM_ID,1);
+       iowrite32be(1, CSR_SYSTEM_ID);
        while(1);
 }
 
diff --git a/arch/lm32/kernel/setup.c b/arch/lm32/kernel/setup.c
index 434817c..85102c0 100644
--- a/arch/lm32/kernel/setup.c
+++ b/arch/lm32/kernel/setup.c
@@ -179,11 +179,13 @@ struct seq_operations cpuinfo_op = {
 
 #ifdef CONFIG_PLAT_MILKYMIST
 static struct resource milkymistuart_resources[] = {
+#if 0
        [0] = {
                .start = CSR_UART_RXTX,
                .end = CSR_UART_RXTX+0xfff,
                .flags = IORESOURCE_MEM,
        },
+#endif
        [1] = {
                .start = IRQ_UARTRX,
                .end = IRQ_UARTTX,
@@ -324,8 +326,8 @@ static int __init setup_devices(void) {
 
 #ifdef CONFIG_PLAT_MILKYMIST
        int cap;
-       cap = in_be32(CSR_CAPABILITIES);
-       
+       cap = ioread32be(CSR_CAPABILITIES);
+
        if( ( err = platform_device_register(&milkymistuart_device)) ) {
                printk(KERN_ERR "could not register 
'milkymist_uart'error:%d\n", err);
                ret = err;
diff --git a/arch/lm32/kernel/time.c b/arch/lm32/kernel/time.c
index 3edcaa7..7761f5e 100644
--- a/arch/lm32/kernel/time.c
+++ b/arch/lm32/kernel/time.c
@@ -19,6 +19,7 @@
 #include <linux/clockchips.h>
 #include <linux/clocksource.h>
 #include <linux/timex.h>
+#include <linux/io.h>
 
 #include <asm/hw/interrupts.h>
 #include <asm/hw/sysctl.h>
diff --git a/arch/lm32/mm/Makefile b/arch/lm32/mm/Makefile
index 4ae7f36..c667398 100644
--- a/arch/lm32/mm/Makefile
+++ b/arch/lm32/mm/Makefile
@@ -2,4 +2,4 @@
 # arch/lm32/mm/Makefile
 #
 
-obj-y += memory.o init.o kmap.o
+obj-y += memory.o init.o
diff --git a/drivers/input/keyboard/softusb.c b/drivers/input/keyboard/softusb.c
index 523a8f31..ddcf3be 100644
--- a/drivers/input/keyboard/softusb.c
+++ b/drivers/input/keyboard/softusb.c
@@ -132,13 +132,13 @@ static int __devinit softusb_probe(struct platform_device 
*pdev)
        unsigned int *usb_dmem = (unsigned int *)SOFTUSB_DMEM_BASE;
        unsigned int *usb_pmem = (unsigned int *)SOFTUSB_PMEM_BASE;
 
-       if(!(in_be32(CSR_CAPABILITIES) & CAP_USB)) {
+       if(!(ioread32be(CSR_CAPABILITIES) & CAP_USB)) {
                printk("USB: not supported by SoC, giving up.\n");
                return -ENODEV;
        }
 
        printk("USB: loading Navre firmware\n");
-       out_be32(CSR_SOFTUSB_CONTROL, SOFTUSB_CONTROL_RESET);
+       iowrite32be(SOFTUSB_CONTROL_RESET, CSR_SOFTUSB_CONTROL);
        for(i=0;i<SOFTUSB_DMEM_SIZE/4;i++)
                usb_dmem[i] = 0;
        for(i=0;i<SOFTUSB_PMEM_SIZE/2;i++)
@@ -148,7 +148,7 @@ static int __devinit softusb_probe(struct platform_device 
*pdev)
                usb_pmem[i] = ((unsigned int)(input_firmware[2*i]))
                        |((unsigned int)(input_firmware[2*i+1]) << 8);
        printk("USB: starting host controller\n");
-       out_be32(CSR_SOFTUSB_CONTROL, 0);
+       iowrite32be(0, CSR_SOFTUSB_CONTROL);
 
        keyboard_consume = 0;
 
diff --git a/drivers/input/serio/milkbd.c b/drivers/input/serio/milkbd.c
index fa0ab92..07a9c5c 100644
--- a/drivers/input/serio/milkbd.c
+++ b/drivers/input/serio/milkbd.c
@@ -38,9 +38,9 @@ MODULE_LICENSE("GPL");
 
 static int milkbd_write(struct serio *port, unsigned char val)
 {
-       while(in_be32(CSR_PS2_KEYBOARD_STATUS)&PS2_BUSY);
+       while(ioread32be(CSR_PS2_KEYBOARD_STATUS)&PS2_BUSY);
 
-       out_be32(CSR_PS2_KEYBOARD_DATA, val);
+       iowrite32be(val, CSR_PS2_KEYBOARD_DATA);
 
        return 0;
 }
@@ -51,7 +51,7 @@ static irqreturn_t milkbd_rx(int irq, void *dev_id)
        unsigned int byte;
        int handled = IRQ_NONE;
 
-       byte = in_be32(CSR_PS2_KEYBOARD_DATA);
+       byte = ioread32be(CSR_PS2_KEYBOARD_DATA);
        serio_interrupt(port, byte, 0);
        handled = IRQ_HANDLED;
 
diff --git a/drivers/input/serio/milkmouse.c b/drivers/input/serio/milkmouse.c
index ab64c3f..689e2c4 100644
--- a/drivers/input/serio/milkmouse.c
+++ b/drivers/input/serio/milkmouse.c
@@ -38,9 +38,9 @@ MODULE_LICENSE("GPL");
 
 static int milkmouse_write(struct serio *port, unsigned char val)
 {
-       while(in_be32(CSR_PS2_MOUSE_STATUS)&PS2_BUSY);
+       while (ioread32be(CSR_PS2_MOUSE_STATUS) & PS2_BUSY);
 
-       out_be32(CSR_PS2_MOUSE_DATA, val);
+       iowrite32be(val, CSR_PS2_MOUSE_DATA);
 
        return 0;
 }
@@ -51,7 +51,7 @@ static irqreturn_t milkmouse_rx(int irq, void *dev_id)
        unsigned int byte;
        int handled = IRQ_NONE;
 
-       byte = in_be32(CSR_PS2_MOUSE_DATA);
+       byte = ioread32be(CSR_PS2_MOUSE_DATA);
        serio_interrupt(port, byte, 0);
        handled = IRQ_HANDLED;
 
diff --git a/drivers/net/milkymist_minimac.c b/drivers/net/milkymist_minimac.c
index 06b5d61..98e7823 100644
--- a/drivers/net/milkymist_minimac.c
+++ b/drivers/net/milkymist_minimac.c
@@ -151,17 +151,17 @@ static int minimac_reset(struct minimac *dev)
        static unsigned char preamble[8] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 
0x55, 0xd5};
        int i;
 
-       out_be32(CSR_MINIMAC_SETUP, MINIMAC_SETUP_RXRST|MINIMAC_SETUP_TXRST);
+       iowrite32be(MINIMAC_SETUP_RXRST | MINIMAC_SETUP_TXRST, 
CSR_MINIMAC_SETUP);
 
-       for (i=1; i<=MAX_PACKET_RECEPTION_SLOT; ++i) {
-               out_be32(CSR_MINIMAC_ADDR0+(i-1)*12, 
(int)(dev->pkt_buf+i)->buf);
-               out_be32(CSR_MINIMAC_STATE0+(i-1)*12, MINIMAC_STATE_LOADED);
+       for (i = 0; i < MAX_PACKET_RECEPTION_SLOT; ++i) {
+               iowrite32be((unsigned int)dev->pkt_buf[i].buf, 
CSR_MINIMAC_ADDR0+i*12);
+               iowrite32be(MINIMAC_STATE_LOADED, CSR_MINIMAC_STATE0+i*12);
        }
 
        memcpy_toio(dev->pkt_buf->buf, preamble, 8);            /* TX buff 
preamble */
 
-       out_be32(CSR_MINIMAC_TXREMAINING, 0);
-       out_be32(CSR_MINIMAC_SETUP, 0);
+       iowrite32be(0, CSR_MINIMAC_TXREMAINING);
+       iowrite32be(0, CSR_MINIMAC_SETUP);
 
        return 0;
 }
@@ -180,9 +180,9 @@ static int minimac_rx(struct net_device *dev, int budget)
                count = 0;
                for (i=1; i<=MAX_PACKET_RECEPTION_SLOT && received < budget ; 
++i) {
                        flush_dcache_range(CSR_MINIMAC_STATE0,256);
-                       state = in_be32(CSR_MINIMAC_STATE0+(i-1)*12);
+                       state = ioread32be(CSR_MINIMAC_STATE0+(i-1)*12);
                        if ( state & MINIMAC_STATE_PENDING ) {
-                               size = in_be32(CSR_MINIMAC_COUNT0+(i-1)*12);
+                               size = ioread32be(CSR_MINIMAC_COUNT0+(i-1)*12);
                                if (size == 0) {
                                } else if (size < 64) {
 #ifdef CONFIG_DEBUG_MILKYMIST_MINIMAC
@@ -227,7 +227,7 @@ static int minimac_rx(struct net_device *dev, int budget)
                                        ++received;
                                        ++count;
                                }
-                               out_be32(CSR_MINIMAC_STATE0+(i-1)*12, 
MINIMAC_STATE_LOADED);
+                               iowrite32be(MINIMAC_STATE_LOADED, 
CSR_MINIMAC_STATE0+(i-1)*12);
                        }
                }
                if (count == 0)
@@ -253,8 +253,8 @@ static irqreturn_t minimac_interrupt_rx(int irq, void 
*dev_id)
        struct minimac *tp = netdev_priv(dev);
 
        flush_dcache_range(CSR_MINIMAC_SETUP,256);
-       if (in_be32(CSR_MINIMAC_SETUP) & MINIMAC_SETUP_RXRST) {
-               out_be32(CSR_MINIMAC_SETUP, 0);
+       if (ioread32be(CSR_MINIMAC_SETUP) & MINIMAC_SETUP_RXRST) {
+               iowrite32be(0, CSR_MINIMAC_SETUP);
        }
 
        disable_irq(dev->irq);
@@ -329,12 +329,12 @@ static int minimac_stop(struct net_device *dev)
        free_irq(dev->irq, dev);
        free_irq(dev->irq+1, dev);
 
-       for (i=1; i<=MAX_PACKET_RECEPTION_SLOT; ++i) {
-               out_be32(CSR_MINIMAC_STATE0+(i-1)*12, MINIMAC_STATE_EMPTY);
+       for (i = 0; i< MAX_PACKET_RECEPTION_SLOT; ++i) {
+               iowrite32be(MINIMAC_STATE_EMPTY, CSR_MINIMAC_STATE0+i*12);
        }
 
-       out_be32(CSR_MINIMAC_SETUP, MINIMAC_SETUP_RXRST|MINIMAC_SETUP_TXRST);
-       out_be32(CSR_MINIMAC_TXREMAINING, 0);
+       iowrite32be(MINIMAC_SETUP_RXRST | MINIMAC_SETUP_TXRST, 
CSR_MINIMAC_SETUP);
+       iowrite32be(0, CSR_MINIMAC_TXREMAINING);
 
        return 0;
 }
@@ -351,7 +351,7 @@ static netdev_tx_t minimac_start_xmit(struct sk_buff *skb, 
struct net_device *de
        unsigned long fcs;
        int len;
 
-       if (in_be32(CSR_MINIMAC_TXREMAINING) != 0) {
+       if (ioread32be(CSR_MINIMAC_TXREMAINING) != 0) {
                return NETDEV_TX_BUSY;
        }
 
@@ -372,8 +372,8 @@ static netdev_tx_t minimac_start_xmit(struct sk_buff *skb, 
struct net_device *de
        *((dest+len)+10) = (fcs & 0xff0000) >> 16;
        *((dest+len)+11) = (fcs & 0xff000000) >> 24;
 
-       out_be32(CSR_MINIMAC_TXADR, (unsigned int)dest);
-       out_be32(CSR_MINIMAC_TXREMAINING, len+12);
+       iowrite32be(dest, CSR_MINIMAC_TXADR);
+       iowrite32be(len + 12, CSR_MINIMAC_TXREMAINING);
        (tp->pkt_buf)->count = len;
 
        netif_stop_queue(dev);
@@ -464,7 +464,7 @@ static int minimac_probe(struct platform_device *pdev)
        }
 
        /* GPIO switch*/
-       macadr[5] = in_be32(CSR_GPIO_IN) >> 5;
+       macadr[5] = ioread32be(CSR_GPIO_IN) >> 5;
        /* store MAC address */
        memcpy(netdev->dev_addr, macadr, IFHWADDRLEN);
 
diff --git a/drivers/serial/milkymist_uart.c b/drivers/serial/milkymist_uart.c
index f7bc945..b4ef457 100644
--- a/drivers/serial/milkymist_uart.c
+++ b/drivers/serial/milkymist_uart.c
@@ -94,7 +94,7 @@ static struct uart_ops milkymistuart_pops = {
 static inline void milkymistuart_set_baud_rate(struct uart_port *port, 
unsigned long baud)
 {
        // TODO: use the board configuration option to get the frequency
-       out_be32(CSR_UART_DIVISOR, (unsigned long)CONFIG_CPU_CLOCK/baud/16);
+       iowrite32be((unsigned long)CONFIG_CPU_CLOCK/baud/16, CSR_UART_DIVISOR);
 }
 
 static void milkymistuart_tx_next_char(struct uart_port* port)
@@ -104,7 +104,7 @@ static void milkymistuart_tx_next_char(struct uart_port* 
port)
        if (port->x_char) {
                /* send xon/xoff character */
                tx_cts = 0;
-               out_be32(CSR_UART_RXTX,(int)port->x_char);
+               iowrite32be(port->x_char, CSR_UART_RXTX);
                port->x_char = 0;
                port->icount.tx++;
                return;
@@ -118,7 +118,7 @@ static void milkymistuart_tx_next_char(struct uart_port* 
port)
 
        /* send next character */
        tx_cts = 0;
-       out_be32(CSR_UART_RXTX,(int)xmit->buf[xmit->tail]);
+       iowrite32be(xmit->buf[xmit->tail], CSR_UART_RXTX);
        xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
        port->icount.tx++;
 
@@ -134,7 +134,7 @@ static void milkymistuart_rx_next_char(struct uart_port* 
port)
        struct tty_struct *tty = port->state->port.tty;
        unsigned char ch;
 
-       ch = in_be32(CSR_UART_RXTX) & 0xFF;
+       ch = ioread32be(CSR_UART_RXTX) & 0xFF;
        port->icount.rx++;
 
        if (uart_handle_sysrq_char(port, ch))
@@ -187,7 +187,7 @@ static void milkymistuart_start_tx(struct uart_port *port)
                if (port->x_char) {
                        /* send xon/xoff character */
                        tx_cts = 0;
-                       out_be32(CSR_UART_RXTX,(int)port->x_char);
+                       iowrite32be(port->x_char, CSR_UART_RXTX);
                        port->x_char = 0;
                        port->icount.tx++;
                        return;
@@ -199,7 +199,7 @@ static void milkymistuart_start_tx(struct uart_port *port)
 
                /* send next character */
                tx_cts = 0;
-               out_be32(CSR_UART_RXTX,(int)xmit->buf[xmit->tail]);
+               iowrite32be(xmit->buf[xmit->tail], CSR_UART_RXTX);
                xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
                port->icount.tx++;
 
@@ -311,7 +311,7 @@ static void milkymist_console_putchar(struct uart_port 
*port, int ch)
 {
        if (milkymist_uart_irqs_enabled)
                disable_irq(IRQ_UARTTX);
-       out_be32(CSR_UART_RXTX,ch);
+       iowrite32be(ch, CSR_UART_RXTX);
        while(!(lm32_irq_pending() & (1 << IRQ_UARTTX)));
        lm32_irq_ack(IRQ_UARTTX);
        if (milkymist_uart_irqs_enabled)
-- 
1.7.2.3

_______________________________________________
http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org
IRC: #milkymist@Freenode
Twitter: www.twitter.com/milkymistvj
Ideas? http://milkymist.uservoice.com

Reply via email to