aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2010-06-13 18:35:23 +0000
committerJo-Philipp Wich <jow@openwrt.org>2010-06-13 18:35:23 +0000
commitfb1058d1f9ebf6b921fc56780e9798d12e8e1952 (patch)
tree296269128ebb0487ec070064fd5628bceb86ef49 /target
parent75c40841420095df975ff2e414dad1dc5a5d8a4e (diff)
downloadupstream-fb1058d1f9ebf6b921fc56780e9798d12e8e1952.tar.gz
upstream-fb1058d1f9ebf6b921fc56780e9798d12e8e1952.tar.bz2
upstream-fb1058d1f9ebf6b921fc56780e9798d12e8e1952.zip
add b43 dma_dev fix to 2.6.32 and 2.6.33
SVN-Revision: 21789
Diffstat (limited to 'target')
-rw-r--r--target/linux/generic-2.6/patches-2.6.32/976-ssb_add_dma_dev.patch52
-rw-r--r--target/linux/generic-2.6/patches-2.6.33/976-ssb_add_dma_dev.patch52
2 files changed, 104 insertions, 0 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.32/976-ssb_add_dma_dev.patch b/target/linux/generic-2.6/patches-2.6.32/976-ssb_add_dma_dev.patch
new file mode 100644
index 0000000000..fd463b4a75
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.32/976-ssb_add_dma_dev.patch
@@ -0,0 +1,52 @@
+From: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
+
+Add dma_dev, a pointer to struct device, to struct ssb_device. We pass it
+to the generic DMA API with SSB_BUSTYPE_PCI and SSB_BUSTYPE_SSB.
+ssb_devices_register() sets up it properly.
+
+This is preparation for replacing the ssb bus specific DMA API (ssb_dma_*)
+with the generic DMA API.
+
+Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
+Acked-by: Michael Buesch <mb@bu3sch.de>
+Cc: Gary Zambrano <zambrano@broadcom.com>
+Cc: Stefano Brivio <stefano.brivio@polimi.it>
+Cc: Larry Finger <Larry.Finger@lwfinger.net>
+Cc: John W. Linville <linville@tuxdriver.com>
+Acked-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+---
+
+ drivers/ssb/main.c | 2 ++
+ include/linux/ssb/ssb.h | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/ssb/main.c
++++ b/drivers/ssb/main.c
+@@ -486,6 +486,7 @@ static int ssb_devices_register(struct s
+ #ifdef CONFIG_SSB_PCIHOST
+ sdev->irq = bus->host_pci->irq;
+ dev->parent = &bus->host_pci->dev;
++ sdev->dma_dev = dev->parent;
+ #endif
+ break;
+ case SSB_BUSTYPE_PCMCIA:
+@@ -501,6 +502,7 @@ static int ssb_devices_register(struct s
+ break;
+ case SSB_BUSTYPE_SSB:
+ dev->dma_mask = &dev->coherent_dma_mask;
++ sdev->dma_dev = dev;
+ break;
+ }
+
+--- a/include/linux/ssb/ssb.h
++++ b/include/linux/ssb/ssb.h
+@@ -167,7 +167,7 @@ struct ssb_device {
+ * is an optimization. */
+ const struct ssb_bus_ops *ops;
+
+- struct device *dev;
++ struct device *dev, *dma_dev;
+
+ struct ssb_bus *bus;
+ struct ssb_device_id id;
diff --git a/target/linux/generic-2.6/patches-2.6.33/976-ssb_add_dma_dev.patch b/target/linux/generic-2.6/patches-2.6.33/976-ssb_add_dma_dev.patch
new file mode 100644
index 0000000000..072df895be
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.33/976-ssb_add_dma_dev.patch
@@ -0,0 +1,52 @@
+From: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
+
+Add dma_dev, a pointer to struct device, to struct ssb_device. We pass it
+to the generic DMA API with SSB_BUSTYPE_PCI and SSB_BUSTYPE_SSB.
+ssb_devices_register() sets up it properly.
+
+This is preparation for replacing the ssb bus specific DMA API (ssb_dma_*)
+with the generic DMA API.
+
+Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
+Acked-by: Michael Buesch <mb@bu3sch.de>
+Cc: Gary Zambrano <zambrano@broadcom.com>
+Cc: Stefano Brivio <stefano.brivio@polimi.it>
+Cc: Larry Finger <Larry.Finger@lwfinger.net>
+Cc: John W. Linville <linville@tuxdriver.com>
+Acked-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+---
+
+ drivers/ssb/main.c | 2 ++
+ include/linux/ssb/ssb.h | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/ssb/main.c
++++ b/drivers/ssb/main.c
+@@ -485,6 +485,7 @@ static int ssb_devices_register(struct s
+ #ifdef CONFIG_SSB_PCIHOST
+ sdev->irq = bus->host_pci->irq;
+ dev->parent = &bus->host_pci->dev;
++ sdev->dma_dev = dev->parent;
+ #endif
+ break;
+ case SSB_BUSTYPE_PCMCIA:
+@@ -500,6 +501,7 @@ static int ssb_devices_register(struct s
+ break;
+ case SSB_BUSTYPE_SSB:
+ dev->dma_mask = &dev->coherent_dma_mask;
++ sdev->dma_dev = dev;
+ break;
+ }
+
+--- a/include/linux/ssb/ssb.h
++++ b/include/linux/ssb/ssb.h
+@@ -167,7 +167,7 @@ struct ssb_device {
+ * is an optimization. */
+ const struct ssb_bus_ops *ops;
+
+- struct device *dev;
++ struct device *dev, *dma_dev;
+
+ struct ssb_bus *bus;
+ struct ssb_device_id id;