[PATCH v2 2/4] dmaengine: Add STM32 DMA driver

M'boumba Cedric Madianga cedric.madianga at gmail.com
Wed Oct 14 06:17:14 PDT 2015


Hi Daniel,

>>> +
>>> +static int stm32_dma_remove(struct platform_device *pdev)
>>> +{
>>> +       struct stm32_dma_device *dmadev = platform_get_drvdata(pdev);
>>> +
>>> +       of_dma_controller_free(pdev->dev.of_node);
>>> +
>>> +       dma_async_device_unregister(&dmadev->ddev);
>>> +
>>> +       clk_disable_unprepare(dmadev->clk);
>>
>>
>> What is the purpose of disabling/unpreparing the clock here?
>> stm32_dma_alloc_chan_resources() and stm32_dma_free_chan_resources() should
>> pair up and the clock should already be stopped.

stm32_dma_remove() could be called during an on-going transfer during
module unload.
So in that case, it seems that disabling/unpreparing the clock is needed.

BR,
Cedric



More information about the linux-arm-kernel mailing list