diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-03-26 13:16:26 +0100 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-05-17 17:47:28 +0200 |
commit | 1d017b6b36675574ec8a6f7dbcd3fd3bec2dc03f (patch) | |
tree | 18fbb337456d598e53ccc5f72d4b6a4138a76856 /drivers | |
parent | mfd: wm5102: Manually apply register patch (diff) | |
download | linux-1d017b6b36675574ec8a6f7dbcd3fd3bec2dc03f.tar.xz linux-1d017b6b36675574ec8a6f7dbcd3fd3bec2dc03f.zip |
mfd: arizona: Add missing cleanup on remove
We'd forgotten to disable /RESET or the regulators. Practically speaking
this code is unlikely to ever be run.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mfd/arizona-core.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c index 25bfd1ec1a65..8002e2d2f6fe 100644 --- a/drivers/mfd/arizona-core.c +++ b/drivers/mfd/arizona-core.c @@ -839,6 +839,11 @@ int arizona_dev_exit(struct arizona *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); + regulator_disable(arizona->dcvdd); + regulator_bulk_disable(ARRAY_SIZE(arizona->core_supplies), + arizona->core_supplies); return 0; } EXPORT_SYMBOL_GPL(arizona_dev_exit); |