[SSB]: Use ioreadX() and iowriteX() for PCI.
authorMichael Buesch <mb@bu3sch.de>
Wed, 19 Sep 2007 16:53:44 +0000 (18:53 +0200)
committerDavid S. Miller <davem@sunset.davemloft.net>
Wed, 10 Oct 2007 23:52:20 +0000 (16:52 -0700)
On a PCI bus use ioreadX() and iowriteX().
We map the I/O space with pci_iomap(), so we must use the correct
accessor functions, too.
readX() and writeX() are not guaranteed to accept the cookie returned
from pci_iomap() (though, it currently works on most architectures).

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/ssb/pci.c

index 3d23ca4..e19b9f9 100644 (file)
@@ -531,7 +531,7 @@ static u16 ssb_pci_read16(struct ssb_device *dev, u16 offset)
                if (unlikely(ssb_pci_switch_core(bus, dev)))
                        return 0xFFFF;
        }
-       return readw(bus->mmio + offset);
+       return ioread16(bus->mmio + offset);
 }
 
 static u32 ssb_pci_read32(struct ssb_device *dev, u16 offset)
@@ -544,7 +544,7 @@ static u32 ssb_pci_read32(struct ssb_device *dev, u16 offset)
                if (unlikely(ssb_pci_switch_core(bus, dev)))
                        return 0xFFFFFFFF;
        }
-       return readl(bus->mmio + offset);
+       return ioread32(bus->mmio + offset);
 }
 
 static void ssb_pci_write16(struct ssb_device *dev, u16 offset, u16 value)
@@ -557,7 +557,7 @@ static void ssb_pci_write16(struct ssb_device *dev, u16 offset, u16 value)
                if (unlikely(ssb_pci_switch_core(bus, dev)))
                        return;
        }
-       writew(value, bus->mmio + offset);
+       iowrite16(value, bus->mmio + offset);
 }
 
 static void ssb_pci_write32(struct ssb_device *dev, u16 offset, u32 value)
@@ -570,7 +570,7 @@ static void ssb_pci_write32(struct ssb_device *dev, u16 offset, u32 value)
                if (unlikely(ssb_pci_switch_core(bus, dev)))
                        return;
        }
-       writel(value, bus->mmio + offset);
+       iowrite32(value, bus->mmio + offset);
 }
 
 /* Not "static", as it's used in main.c */