On Fri, Aug 03, 2018 at 10:50:13AM +0300, Peter Ujfalusi wrote: > > > On 2018-08-03 10:19, Huang Shijie wrote: > > Use dmaenginem_async_device_register to simplify the code: > > remove dma_async_device_unregister > > > > Signed-off-by: Huang Shijie <sjhuang@xxxxxxxxxxx> > > --- > > drivers/dma/ti/edma.c | 8 ++------ > > 1 file changed, 2 insertions(+), 6 deletions(-) > > > > diff --git a/drivers/dma/ti/edma.c b/drivers/dma/ti/edma.c > > index ceabdea40ae0..28ba1e722c47 100644 > > --- a/drivers/dma/ti/edma.c > > +++ b/drivers/dma/ti/edma.c > > @@ -2388,18 +2388,17 @@ static int edma_probe(struct platform_device *pdev) > > ecc->dma_slave.filter.mapcnt = info->slavecnt; > > ecc->dma_slave.filter.fn = edma_filter_fn; > > > > - ret = dma_async_device_register(&ecc->dma_slave); > > + ret = dmaenginem_async_device_register(&ecc->dma_slave); > > if (ret) { > > dev_err(dev, "slave ddev registration failed (%d)\n", ret); > > goto err_reg1; > > } > > > > if (ecc->dma_memcpy) { > > - ret = dma_async_device_register(ecc->dma_memcpy); > > + ret = dmaenginem_async_device_register(ecc->dma_memcpy); > > if (ret) { > > dev_err(dev, "memcpy ddev registration failed (%d)\n", > > ret); > > - dma_async_device_unregister(&ecc->dma_slave); > > goto err_reg1; > > } > > } > > @@ -2439,9 +2438,6 @@ static int edma_remove(struct platform_device *pdev) > > > > if (dev->of_node) > > of_dma_controller_free(dev->of_node); > > - dma_async_device_unregister(&ecc->dma_slave); > > - if (ecc->dma_memcpy) > > - dma_async_device_unregister(ecc->dma_memcpy); > > I'm afraid this is not safe either, we need to free the dummy_slot > _after_ the dma device is unregistered. > Thanks for pointing this. I will drop this patch ... Thanks Huang Shijie -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html