From: Stephen Rothwell Date: Thu, 13 Oct 2011 03:43:04 +0000 (+1100) Subject: Merge remote-tracking branch 'spi/spi/next' X-Git-Tag: next-20111013~24 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=5afca261ed9d07f9896c7fda56dcb4f05ec237d9;p=karo-tx-linux.git Merge remote-tracking branch 'spi/spi/next' --- 5afca261ed9d07f9896c7fda56dcb4f05ec237d9 diff --cc drivers/spi/spi-pl022.c index 1ab2fa0d37fd,c828dc607d99..f103e470cb63 --- a/drivers/spi/spi-pl022.c +++ b/drivers/spi/spi-pl022.c @@@ -2242,11 -2237,12 +2232,13 @@@ pl022_probe(struct amba_device *adev, c err_start_queue: err_init_queue: destroy_queue(pl022); - pl022_dma_remove(pl022); + if (platform_info->enable_dma) + pl022_dma_remove(pl022); + free_irq(adev->irq[0], pl022); - pm_runtime_disable(&adev->dev); err_no_irq: + clk_unprepare(pl022->clk); + err_clk_prep: clk_put(pl022->clk); err_no_clk: iounmap(pl022->virtbase); @@@ -2277,10 -2267,11 +2269,12 @@@ pl022_remove(struct amba_device *adev if (destroy_queue(pl022) != 0) dev_err(&adev->dev, "queue remove failed\n"); load_ssp_default_config(pl022); - pl022_dma_remove(pl022); + if (pl022->master_info->enable_dma) + pl022_dma_remove(pl022); + free_irq(adev->irq[0], pl022); clk_disable(pl022->clk); + clk_unprepare(pl022->clk); clk_put(pl022->clk); iounmap(pl022->virtbase); amba_release_regions(adev); @@@ -2439,9 -2404,10 +2432,8 @@@ static struct amba_driver pl022_driver .id_table = pl022_ids, .probe = pl022_probe, .remove = __devexit_p(pl022_remove), - .suspend = pl022_suspend, - .resume = pl022_resume, }; - static int __init pl022_init(void) { return amba_driver_register(&pl022_driver);