add b43 dma_dev fix to 2.6.32 and 2.6.33
[openwrt/openwrt.git] / target / linux / generic-2.6 / patches-2.6.33 / 976-ssb_add_dma_dev.patch
1 From: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2
3 Add dma_dev, a pointer to struct device, to struct ssb_device. We pass it
4 to the generic DMA API with SSB_BUSTYPE_PCI and SSB_BUSTYPE_SSB.
5 ssb_devices_register() sets up it properly.
6
7 This is preparation for replacing the ssb bus specific DMA API (ssb_dma_*)
8 with the generic DMA API.
9
10 Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
11 Acked-by: Michael Buesch <mb@bu3sch.de>
12 Cc: Gary Zambrano <zambrano@broadcom.com>
13 Cc: Stefano Brivio <stefano.brivio@polimi.it>
14 Cc: Larry Finger <Larry.Finger@lwfinger.net>
15 Cc: John W. Linville <linville@tuxdriver.com>
16 Acked-by: David S. Miller <davem@davemloft.net>
17 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
18 ---
19
20 drivers/ssb/main.c | 2 ++
21 include/linux/ssb/ssb.h | 2 +-
22 2 files changed, 3 insertions(+), 1 deletion(-)
23
24 --- a/drivers/ssb/main.c
25 +++ b/drivers/ssb/main.c
26 @@ -485,6 +485,7 @@ static int ssb_devices_register(struct s
27 #ifdef CONFIG_SSB_PCIHOST
28 sdev->irq = bus->host_pci->irq;
29 dev->parent = &bus->host_pci->dev;
30 + sdev->dma_dev = dev->parent;
31 #endif
32 break;
33 case SSB_BUSTYPE_PCMCIA:
34 @@ -500,6 +501,7 @@ static int ssb_devices_register(struct s
35 break;
36 case SSB_BUSTYPE_SSB:
37 dev->dma_mask = &dev->coherent_dma_mask;
38 + sdev->dma_dev = dev;
39 break;
40 }
41
42 --- a/include/linux/ssb/ssb.h
43 +++ b/include/linux/ssb/ssb.h
44 @@ -167,7 +167,7 @@ struct ssb_device {
45 * is an optimization. */
46 const struct ssb_bus_ops *ops;
47
48 - struct device *dev;
49 + struct device *dev, *dma_dev;
50
51 struct ssb_bus *bus;
52 struct ssb_device_id id;