From ca9480b1507208ff975ff0da5d74ef2a3f14ff76 Mon Sep 17 00:00:00 2001 From: jow Date: Sun, 13 Jun 2010 18:35:23 +0000 Subject: [PATCH] [generic-2.6] add b43 dma_dev fix to 2.6.32 and 2.6.33 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21789 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../patches-2.6.32/976-ssb_add_dma_dev.patch | 52 +++++++++++++++++++ .../patches-2.6.33/976-ssb_add_dma_dev.patch | 52 +++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 target/linux/generic-2.6/patches-2.6.32/976-ssb_add_dma_dev.patch create mode 100644 target/linux/generic-2.6/patches-2.6.33/976-ssb_add_dma_dev.patch 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 000000000..fd463b4a7 --- /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 + +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 +Acked-by: Michael Buesch +Cc: Gary Zambrano +Cc: Stefano Brivio +Cc: Larry Finger +Cc: John W. Linville +Acked-by: David S. Miller +Signed-off-by: Andrew Morton +--- + + 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 000000000..072df895b --- /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 + +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 +Acked-by: Michael Buesch +Cc: Gary Zambrano +Cc: Stefano Brivio +Cc: Larry Finger +Cc: John W. Linville +Acked-by: David S. Miller +Signed-off-by: Andrew Morton +--- + + 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;