Messages in this thread | | | Subject | Re: [PATCH 08/46] dmaengine: edma: use dmaenginem_async_device_register to simplify the code | From | Peter Ujfalusi <> | Date | Fri, 3 Aug 2018 10:50:13 +0300 |
| |
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@iluvatar.ai> > --- > 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
| |