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. > edma_free_slot(ecc, ecc->dummy_slot); > > return 0; > - Péter Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki -- 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