diff options
author | Baolin Wang <baolin.wang@linaro.org> | 2019-05-20 13:32:20 +0200 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2019-05-27 07:53:53 +0200 |
commit | 1dc1b29aa15ead508142bb109ef52686213d07f4 (patch) | |
tree | 69901719d98770328a55afceda3e1cc3ae568d42 | |
parent | dmaengine: mxs-dma: Let the core do the device node validation (diff) | |
download | linux-1dc1b29aa15ead508142bb109ef52686213d07f4.tar.xz linux-1dc1b29aa15ead508142bb109ef52686213d07f4.zip |
dmaengine: sh: rcar-dmac: Let the core do the device node validation
Let the DMA engine core do the device node validation instead of drivers.
Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
-rw-r--r-- | drivers/dma/sh/rcar-dmac.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/dma/sh/rcar-dmac.c b/drivers/dma/sh/rcar-dmac.c index 33ab1b607e2b..67df54ac3294 100644 --- a/drivers/dma/sh/rcar-dmac.c +++ b/drivers/dma/sh/rcar-dmac.c @@ -1654,8 +1654,7 @@ static bool rcar_dmac_chan_filter(struct dma_chan *chan, void *arg) * Forcing it to call dma_request_channel() and iterate through all * channels from all controllers is just pointless. */ - if (chan->device->device_config != rcar_dmac_device_config || - dma_spec->np != chan->device->dev->of_node) + if (chan->device->device_config != rcar_dmac_device_config) return false; return !test_and_set_bit(dma_spec->args[0], dmac->modules); @@ -1675,7 +1674,8 @@ static struct dma_chan *rcar_dmac_of_xlate(struct of_phandle_args *dma_spec, dma_cap_zero(mask); dma_cap_set(DMA_SLAVE, mask); - chan = dma_request_channel(mask, rcar_dmac_chan_filter, dma_spec); + chan = __dma_request_channel(&mask, rcar_dmac_chan_filter, dma_spec, + ofdma->of_node); if (!chan) return NULL; |