diff options
Diffstat (limited to 'drivers/spi/spi-pl022.c')
-rw-r--r-- | drivers/spi/spi-pl022.c | 8 |
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); |