diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2013-04-09 14:05:44 +0300 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2013-04-15 22:04:10 +0530 |
commit | 4e82f5ddd1e46fadc3a3c5aafdaec2d1416de9fe (patch) | |
tree | fe0857f3c09d919d7acc7044d518ec5d3942aca8 /drivers/dma/dmaengine.c | |
parent | 1b2e98bc1e35ebe1f65c3db62c8317096ad7f2c8 (diff) | |
download | blackbird-op-linux-4e82f5ddd1e46fadc3a3c5aafdaec2d1416de9fe.tar.gz blackbird-op-linux-4e82f5ddd1e46fadc3a3c5aafdaec2d1416de9fe.zip |
dmaengine: call acpi_dma_request_slave_channel as well
The slave device could be enumerated by ACPI. In that case the
dma_request_slave_channel should use the acpi_dma_request_slave_channel()
helper.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma/dmaengine.c')
-rw-r--r-- | drivers/dma/dmaengine.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c index d07ef7dc04ec..1b2df59d1d65 100644 --- a/drivers/dma/dmaengine.c +++ b/drivers/dma/dmaengine.c @@ -62,6 +62,8 @@ #include <linux/rculist.h> #include <linux/idr.h> #include <linux/slab.h> +#include <linux/acpi.h> +#include <linux/acpi_dma.h> #include <linux/of_dma.h> static DEFINE_MUTEX(dma_list_mutex); @@ -564,6 +566,10 @@ struct dma_chan *dma_request_slave_channel(struct device *dev, char *name) if (dev->of_node) return of_dma_request_slave_channel(dev->of_node, name); + /* If device was enumerated by ACPI get slave info from here */ + if (ACPI_HANDLE(dev)) + return acpi_dma_request_slave_chan_by_name(dev, name); + return NULL; } EXPORT_SYMBOL_GPL(dma_request_slave_channel); |