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 5eab281..aab518e 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);