aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2012-06-12 10:14:51 -0400
committerLinus Walleij <linus.walleij@linaro.org>2012-07-02 07:55:36 -0400
commit2fb30d1147c599f5657e8c62c862f9a0f58d9d99 (patch)
tree917b92b1861b04054b7aa338dd5de82eef72224d /drivers/spi
parent42f978c3ef26db2a125eff24557a007ab8dd3e8d (diff)
spi/pl022: enable runtime PM
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>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi-pl022.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c
index 5eab281a5be9..aab518ec2bbc 100644
--- a/drivers/spi/spi-pl022.c
+++ b/drivers/spi/spi-pl022.c
@@ -2053,6 +2053,9 @@ pl022_probe(struct amba_device *adev, const struct amba_id *id)
2053 printk(KERN_INFO "pl022: mapped registers from 0x%08x to %p\n", 2053 printk(KERN_INFO "pl022: mapped registers from 0x%08x to %p\n",
2054 adev->res.start, pl022->virtbase); 2054 adev->res.start, pl022->virtbase);
2055 2055
2056 pm_runtime_enable(dev);
2057 pm_runtime_resume(dev);
2058
2056 pl022->clk = clk_get(&adev->dev, NULL); 2059 pl022->clk = clk_get(&adev->dev, NULL);
2057 if (IS_ERR(pl022->clk)) { 2060 if (IS_ERR(pl022->clk)) {
2058 status = PTR_ERR(pl022->clk); 2061 status = PTR_ERR(pl022->clk);
@@ -2163,6 +2166,7 @@ pl022_remove(struct amba_device *adev)
2163 clk_disable(pl022->clk); 2166 clk_disable(pl022->clk);
2164 clk_unprepare(pl022->clk); 2167 clk_unprepare(pl022->clk);
2165 clk_put(pl022->clk); 2168 clk_put(pl022->clk);
2169 pm_runtime_disable(&adev->dev);
2166 iounmap(pl022->virtbase); 2170 iounmap(pl022->virtbase);
2167 amba_release_regions(adev); 2171 amba_release_regions(adev);
2168 tasklet_disable(&pl022->pump_transfers); 2172 tasklet_disable(&pl022->pump_transfers);