From: Linus Torvalds <torvalds@linux-foundation.org>
Date: Sat, 29 Oct 2011 14:28:36 +0000 (-0700)
Subject: Merge branch 'spi/next' of git://git.secretlab.ca/git/linux-2.6
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=18c0635363364ca2fc2d1cbd65bbf918daf89d1a;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

Merge branch 'spi/next' of git://git.secretlab.ca/git/linux-2.6

* 'spi/next' of git://git.secretlab.ca/git/linux-2.6:
  drivercore: Add helper macro for platform_driver boilerplate
  spi: irq: Remove IRQF_DISABLED
  OMAP: SPI: Fix the trying to free nonexistent resource error
  spi/spi-ep93xx: add module.h include
  spi/tegra: fix compilation error in spi-tegra.c
  spi: spi-dw: fix all sparse warnings
  spi/spi-pl022: Call pl022_dma_remove(pl022) only if enable_dma is true
  spi/spi-pl022: calculate_effective_freq() must set rate <= requested rate
  spi/spi-pl022: Don't allocate more sg than required.
  spi/spi-pl022: Use GFP_ATOMIC for allocation from tasklet
  spi/spi-pl022: Resolve formatting issues
---

18c0635363364ca2fc2d1cbd65bbf918daf89d1a
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);