summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorMichael Buesch <mb@bu3sch.de>2008-04-11 11:59:00 +0200
committerJohn W. Linville <linville@tuxdriver.com>2008-04-15 15:04:35 -0400
commit4ac58469f13028e1eb97f8bc7b0fca5072591d8d (patch)
treec955e1b753e1f86c570d2d6f5f6095d1182d5c35 /include/linux
parent2d4543fdb487b1301ae48703dea3e66ead2d3c75 (diff)
downloadlinux-4ac58469f13028e1eb97f8bc7b0fca5072591d8d.tar.gz
linux-4ac58469f13028e1eb97f8bc7b0fca5072591d8d.tar.bz2
linux-4ac58469f13028e1eb97f8bc7b0fca5072591d8d.zip
ssb: Fix usage of struct device used for DMAing
This fixes DMA on architectures where DMA is nontrivial, like PPC64. We must use the host-device's (PCI) struct device for any DMA operation instead of the SSB device. For this we add a new struct device pointer to the SSB device structure that will always point to the right device for DMAing. Without this patch b43 and b44 drivers won't work on complex-DMA architectures, that for example need dev->archdata for DMA operations. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ssb/ssb.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/ssb/ssb.h b/include/linux/ssb/ssb.h
index 20add65215af..db53defde5ee 100644
--- a/include/linux/ssb/ssb.h
+++ b/include/linux/ssb/ssb.h
@@ -129,6 +129,10 @@ struct ssb_device {
const struct ssb_bus_ops *ops;
struct device *dev;
+ /* Pointer to the device that has to be used for
+ * any DMA related operation. */
+ struct device *dma_dev;
+
struct ssb_bus *bus;
struct ssb_device_id id;