dma/imx-sdma: move clk_enable out of sdma_request_channel
authorRichard Zhao <richard.zhao@linaro.org>
Fri, 13 Jan 2012 03:09:59 +0000 (11:09 +0800)
committerVinod Koul <vinod.koul@linux.intel.com>
Tue, 31 Jan 2012 03:33:16 +0000 (09:03 +0530)
It makes clk_enable/disable pair more readable, and fix one bug:
sdma_init calls sdma_request_channel, but seems don't know
sdma_request_channel enabled the clock.

Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
[fixed typo in commit log]
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
drivers/dma/imx-sdma.c

index 17a9d46bba15d70253d492139af00a7402c30aca..1e0e516b481f31710d74462afc3e271002cf5fa3 100644 (file)
@@ -802,8 +802,6 @@ static int sdma_request_channel(struct sdma_channel *sdmac)
        sdma->channel_control[channel].base_bd_ptr = sdmac->bd_phys;
        sdma->channel_control[channel].current_bd_ptr = sdmac->bd_phys;
 
-       clk_enable(sdma->clk);
-
        sdma_set_channel_priority(sdmac, MXC_SDMA_DEFAULT_PRIORITY);
 
        init_completion(&sdmac->done);
@@ -873,6 +871,9 @@ static int sdma_alloc_chan_resources(struct dma_chan *chan)
 
        sdmac->peripheral_type = data->peripheral_type;
        sdmac->event_id0 = data->dma_request;
+
+       clk_enable(sdmac->sdma->clk);
+
        ret = sdma_request_channel(sdmac);
        if (ret)
                return ret;