Let the DMA engine core do the device node validation instead of drivers.

Signed-off-by: Baolin Wang <baolin.w...@linaro.org>
---
 drivers/dma/sh/rcar-dmac.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/dma/sh/rcar-dmac.c b/drivers/dma/sh/rcar-dmac.c
index 2b4f256..9474d5b 100644
--- a/drivers/dma/sh/rcar-dmac.c
+++ b/drivers/dma/sh/rcar-dmac.c
@@ -1632,8 +1632,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);
@@ -1653,7 +1652,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;
 
-- 
1.7.9.5

Reply via email to