diff options
author | Viresh Kumar <viresh.kumar@linaro.org> | 2016-09-15 23:26:59 -0400 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2016-11-25 06:09:05 -0500 |
commit | 3cfc43df7af0533b39b97bb03980e02e9716fc52 (patch) | |
tree | 7f37bdce59cf7094aeea88a4fa67302f16ce0187 | |
parent | d29ccdb3f0e5dccb170200c9f3d573eaa5af261b (diff) |
mfd: wm8994-core: Disable regulators before removing them
The order in which resources were freed in wm8994_device_exit() isn't
correct. The regulators are removed before they are disabled.
Fix it by reordering code a bit, which makes it exact opposite of
wm8994_device_init() as well.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
-rw-r--r-- | drivers/mfd/wm8994-core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c index 7eec619a6023..1e644aa53a2d 100644 --- a/drivers/mfd/wm8994-core.c +++ b/drivers/mfd/wm8994-core.c | |||
@@ -604,10 +604,10 @@ err: | |||
604 | static void wm8994_device_exit(struct wm8994 *wm8994) | 604 | static void wm8994_device_exit(struct wm8994 *wm8994) |
605 | { | 605 | { |
606 | pm_runtime_disable(wm8994->dev); | 606 | pm_runtime_disable(wm8994->dev); |
607 | mfd_remove_devices(wm8994->dev); | ||
608 | wm8994_irq_exit(wm8994); | 607 | wm8994_irq_exit(wm8994); |
609 | regulator_bulk_disable(wm8994->num_supplies, | 608 | regulator_bulk_disable(wm8994->num_supplies, |
610 | wm8994->supplies); | 609 | wm8994->supplies); |
610 | mfd_remove_devices(wm8994->dev); | ||
611 | } | 611 | } |
612 | 612 | ||
613 | static const struct of_device_id wm8994_of_match[] = { | 613 | static const struct of_device_id wm8994_of_match[] = { |