aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi/spi-pl022.c
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@st.com>2011-08-10 04:50:58 -0400
committerGrant Likely <grant.likely@secretlab.ca>2011-09-21 11:41:48 -0400
commit3e3ea716270dc64810f624ad6a3672440b45d3d4 (patch)
treebb88ce96e0c6bb2a779f490363b1bc2793da2734 /drivers/spi/spi-pl022.c
parent0379b2a33a8a03d4ad1036ef646419dbdf1ac15a (diff)
spi/spi-pl022: Call pl022_dma_remove(pl022) only if enable_dma is true
pl022_dma_remove() should be called only if enable_dma is true. There is no point calling it when pl022_dma_probe() is not called, which again depends on enable_dma. Signed-off-by: Viresh Kumar <viresh.kumar@st.com> Tested-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'drivers/spi/spi-pl022.c')
-rw-r--r--drivers/spi/spi-pl022.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c
index 4e1a1e3b2a8c..c828dc607d99 100644
--- a/drivers/spi/spi-pl022.c
+++ b/drivers/spi/spi-pl022.c
@@ -2237,7 +2237,9 @@ pl022_probe(struct amba_device *adev, const struct amba_id *id)
2237 err_start_queue: 2237 err_start_queue:
2238 err_init_queue: 2238 err_init_queue:
2239 destroy_queue(pl022); 2239 destroy_queue(pl022);
2240 pl022_dma_remove(pl022); 2240 if (platform_info->enable_dma)
2241 pl022_dma_remove(pl022);
2242
2241 free_irq(adev->irq[0], pl022); 2243 free_irq(adev->irq[0], pl022);
2242 pm_runtime_disable(&adev->dev); 2244 pm_runtime_disable(&adev->dev);
2243 err_no_irq: 2245 err_no_irq:
@@ -2265,7 +2267,9 @@ pl022_remove(struct amba_device *adev)
2265 if (destroy_queue(pl022) != 0) 2267 if (destroy_queue(pl022) != 0)
2266 dev_err(&adev->dev, "queue remove failed\n"); 2268 dev_err(&adev->dev, "queue remove failed\n");
2267 load_ssp_default_config(pl022); 2269 load_ssp_default_config(pl022);
2268 pl022_dma_remove(pl022); 2270 if (pl022->master_info->enable_dma)
2271 pl022_dma_remove(pl022);
2272
2269 free_irq(adev->irq[0], pl022); 2273 free_irq(adev->irq[0], pl022);
2270 clk_disable(pl022->clk); 2274 clk_disable(pl022->clk);
2271 clk_put(pl022->clk); 2275 clk_put(pl022->clk);