* [PATCH] ssb: Use ioreadX() and iowriteX() for PCI.
@ 2007-09-19 16:53 Michael Buesch
0 siblings, 0 replies; only message in thread
From: Michael Buesch @ 2007-09-19 16:53 UTC (permalink / raw)
To: John Linville; +Cc: bcm43xx-dev, linux-wireless
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>
Index: wireless-dev/drivers/ssb/pci.c
===================================================================
--- wireless-dev.orig/drivers/ssb/pci.c 2007-09-19 17:15:58.000000000 +0200
+++ wireless-dev/drivers/ssb/pci.c 2007-09-19 17:31:44.000000000 +0200
@@ -531,7 +531,7 @@ static u16 ssb_pci_read16(struct ssb_dev
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_dev
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_d
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_d
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 */
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2007-09-19 16:54 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-19 16:53 [PATCH] ssb: Use ioreadX() and iowriteX() for PCI Michael Buesch
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.