]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge remote-tracking branch 'spi/spi/next'
authorStephen Rothwell <sfr@canb.auug.org.au>
Wed, 5 Oct 2011 05:44:30 +0000 (16:44 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Wed, 5 Oct 2011 05:44:30 +0000 (16:44 +1100)
1  2 
drivers/spi/spi-pl022.c

index 1ab2fa0d37fd7d0d6dea52e0dd801cbd8a4cea52,c828dc607d998cc47216f037fdd5853c73ef7b43..f103e470cb6362e248a264576e457e03f0ab5409
@@@ -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);