From 2d8784df1a1c11ace4e244780facec1e945c5b4f Mon Sep 17 00:00:00 2001 From: Michael Moese Date: Wed, 14 Sep 2016 12:05:24 +0200 Subject: mcb: Add a dma_device to mcb_device When performing DMA operations on a MCB device, the device needed for using the DMA API is "mcb_device->bus_carrier". This is rather lengthy, so a shortcut is introduced to struct mcb_device in order to ensure the MCB device driver uses the correct device for DMA operations. Signed-off-by: Michael Moese Signed-off-by: Johannes Thumshirn Signed-off-by: Greg Kroah-Hartman diff --git a/drivers/mcb/mcb-core.c b/drivers/mcb/mcb-core.c index 5306966..921a5d2 100644 --- a/drivers/mcb/mcb-core.c +++ b/drivers/mcb/mcb-core.c @@ -233,6 +233,7 @@ int mcb_device_register(struct mcb_bus *bus, struct mcb_device *dev) dev->dev.bus = &mcb_bus_type; dev->dev.parent = bus->dev.parent; dev->dev.release = mcb_release_dev; + dev->dma_dev = bus->carrier; device_id = dev->id; dev_set_name(&dev->dev, "mcb%d-16z%03d-%d:%d:%d", diff --git a/include/linux/mcb.h b/include/linux/mcb.h index ee5200d..4097ac9 100644 --- a/include/linux/mcb.h +++ b/include/linux/mcb.h @@ -76,6 +76,7 @@ struct mcb_device { int rev; struct resource irq; struct resource mem; + struct device *dma_dev; }; static inline struct mcb_device *to_mcb_device(struct device *dev) -- cgit v0.10.2