diff options
author | Charles Keepax <ckeepax@opensource.wolfsonmicro.com> | 2014-06-02 12:50:39 +0400 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2014-07-09 17:58:02 +0400 |
commit | b804020adadae5ebe82850bd82e29f224d044164 (patch) | |
tree | 1ab2d58e74caf74b1251bc4efb976a7175d289a2 /drivers/mfd/arizona-core.c | |
parent | 627918ed1278c7274c29340779fff958afa2c3a5 (diff) | |
download | linux-b804020adadae5ebe82850bd82e29f224d044164.tar.xz |
mfd: arizona: Disable PM runtime at start of driver removal
We don't want to trigger any PM runtime operations whilst we are tearing
down the driver, as things the suspend and resume callbacks rely on
might already have been destroyed. So disable PM runtime for the device
as the first step arizona_dev_exit.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'drivers/mfd/arizona-core.c')
-rw-r--r-- | drivers/mfd/arizona-core.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c index cfc191abae4a..9d71ebccc8b0 100644 --- a/drivers/mfd/arizona-core.c +++ b/drivers/mfd/arizona-core.c @@ -1023,11 +1023,12 @@ EXPORT_SYMBOL_GPL(arizona_dev_init); int arizona_dev_exit(struct arizona *arizona) { + pm_runtime_disable(arizona->dev); + mfd_remove_devices(arizona->dev); arizona_free_irq(arizona, ARIZONA_IRQ_UNDERCLOCKED, arizona); arizona_free_irq(arizona, ARIZONA_IRQ_OVERCLOCKED, arizona); arizona_free_irq(arizona, ARIZONA_IRQ_CLKGEN_ERR, arizona); - pm_runtime_disable(arizona->dev); arizona_irq_exit(arizona); if (arizona->pdata.reset) gpio_set_value_cansleep(arizona->pdata.reset, 0); |