| 1 | --- a/drivers/ssb/main.c |
| 2 | +++ b/drivers/ssb/main.c |
| 3 | @@ -465,6 +465,7 @@ static int ssb_devices_register(struct s |
| 4 | #ifdef CONFIG_SSB_PCIHOST |
| 5 | sdev->irq = bus->host_pci->irq; |
| 6 | dev->parent = &bus->host_pci->dev; |
| 7 | + sdev->dma_dev = dev->parent; |
| 8 | #endif |
| 9 | break; |
| 10 | case SSB_BUSTYPE_PCMCIA: |
| 11 | @@ -475,6 +476,7 @@ static int ssb_devices_register(struct s |
| 12 | break; |
| 13 | case SSB_BUSTYPE_SSB: |
| 14 | dev->dma_mask = &dev->coherent_dma_mask; |
| 15 | + sdev->dma_dev = dev; |
| 16 | break; |
| 17 | default: |
| 18 | break; |
| 19 | --- a/include/linux/ssb/ssb.h |
| 20 | +++ b/include/linux/ssb/ssb.h |
| 21 | @@ -167,7 +167,7 @@ struct ssb_device { |
| 22 | * is an optimization. */ |
| 23 | const struct ssb_bus_ops *ops; |
| 24 | |
| 25 | - struct device *dev; |
| 26 | + struct device *dev, *dma_dev; |
| 27 | |
| 28 | struct ssb_bus *bus; |
| 29 | struct ssb_device_id id; |
| 30 | |