+++ /dev/null
---- a/drivers/ssb/main.c
-+++ b/drivers/ssb/main.c
-@@ -465,6 +465,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:
-@@ -475,6 +476,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;
- default:
- 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;