This patch introduces new method dw_dma_of_controller_register(). The wrapper is called only when of_node is present.
Signed-off-by: Andy Shevchenko <[email protected]> Acked-by: Arnd Bergmann <[email protected]> --- drivers/dma/dw_dmac.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/drivers/dma/dw_dmac.c b/drivers/dma/dw_dmac.c index 274fd7d..12657d7 100644 --- a/drivers/dma/dw_dmac.c +++ b/drivers/dma/dw_dmac.c @@ -1303,6 +1303,16 @@ static struct dma_chan *dw_dma_of_xlate(struct of_phandle_args *dma_spec, return dma_request_channel(cap, dw_dma_of_filter, &fargs); } +static void dw_dma_of_controller_register(struct dw_dma *dw) +{ + struct device *dev = dw->dma.dev; + int err; + + err = of_dma_controller_register(dev->of_node, dw_dma_of_xlate, dw); + if (err) + dev_err(dev, "could not register of_dma_controller\n"); +} + /* --------------------- Cyclic DMA API extensions -------------------- */ /** @@ -1843,13 +1853,8 @@ static int dw_probe(struct platform_device *pdev) dma_async_device_register(&dw->dma); - if (pdev->dev.of_node) { - err = of_dma_controller_register(pdev->dev.of_node, - dw_dma_of_xlate, dw); - if (err && err != -ENODEV) - dev_err(&pdev->dev, - "could not register of_dma_controller\n"); - } + if (pdev->dev.of_node) + dw_dma_of_controller_register(dw); return 0; } -- 1.8.2.rc0.22.gb3600c3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

