ssb: add dma_dev to ssb_device structure
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Fri, 4 Jun 2010 02:37:27 +0000 (19:37 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 4 Jun 2010 20:00:41 +0000 (16:00 -0400)
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>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/ssb/main.c
include/linux/ssb/ssb.h

index 51275aac5b34df0040ff02781a5f308dadc32753..a732b396e60259166d821c43a3d06c9687727d2a 100644 (file)
@@ -486,6 +486,7 @@ static int ssb_devices_register(struct ssb_bus *bus)
 #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 ssb_bus *bus)
                        break;
                case SSB_BUSTYPE_SSB:
                        dev->dma_mask = &dev->coherent_dma_mask;
+                       sdev->dma_dev = dev;
                        break;
                }
 
index a2608bff9c78a3a3c69544dbb6c187572535e902..0d5f04316b35b3b274921cba7d88c4eae14bb24f 100644 (file)
@@ -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;