spi/pl022: enable runtime PM
authorLinus Walleij <linus.walleij@linaro.org>
Tue, 12 Jun 2012 14:14:51 +0000 (16:14 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 2 Jul 2012 11:55:36 +0000 (13:55 +0200)
If we're gonna use runtime PM it's a pretty good idea to actually
enable it in probe() and disable it in remove() too, so it
gets used for real. Up until now we only fooled around with the
reference count.

Cc: Vinit Shenoy <vinit.shenoy@st.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/spi/spi-pl022.c

index 5eab281a5be98fdb132645b7d3a717a776022924..aab518ec2bbc234c983be65ec84372740c1e5344 100644 (file)
@@ -2053,6 +2053,9 @@ pl022_probe(struct amba_device *adev, const struct amba_id *id)
        printk(KERN_INFO "pl022: mapped registers from 0x%08x to %p\n",
               adev->res.start, pl022->virtbase);
 
+       pm_runtime_enable(dev);
+       pm_runtime_resume(dev);
+
        pl022->clk = clk_get(&adev->dev, NULL);
        if (IS_ERR(pl022->clk)) {
                status = PTR_ERR(pl022->clk);
@@ -2163,6 +2166,7 @@ pl022_remove(struct amba_device *adev)
        clk_disable(pl022->clk);
        clk_unprepare(pl022->clk);
        clk_put(pl022->clk);
+       pm_runtime_disable(&adev->dev);
        iounmap(pl022->virtbase);
        amba_release_regions(adev);
        tasklet_disable(&pl022->pump_transfers);