dmaengine: sh: rcar-dmac: Let the core do the device node validation
authorBaolin Wang <baolin.wang@linaro.org>
Mon, 20 May 2019 11:32:20 +0000 (19:32 +0800)
committerVinod Koul <vkoul@kernel.org>
Mon, 27 May 2019 05:53:53 +0000 (11:23 +0530)
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>
drivers/dma/sh/rcar-dmac.c

index 33ab1b6..67df54a 100644 (file)
@@ -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;