From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757553AbcIPD1Y (ORCPT ); Thu, 15 Sep 2016 23:27:24 -0400 Received: from mail-pf0-f182.google.com ([209.85.192.182]:34442 "EHLO mail-pf0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757402AbcIPD1O (ORCPT ); Thu, 15 Sep 2016 23:27:14 -0400 From: Viresh Kumar To: Lee Jones Cc: linaro-kernel@lists.linaro.org, Mark Brown , =?UTF-8?q?Krzysztof=20Koz=C5=82owski?= , Charles Keepax , Viresh Kumar , patches@opensource.wolfsonmicro.com, linux-kernel@vger.kernel.org Subject: [PATCH V2 2/3] mfd: wm8994-core: disable regulators before removing them Date: Fri, 16 Sep 2016 08:56:59 +0530 Message-Id: <1ea4eed2967fd566fe0aa4a9f7a4d55083618445.1473996370.git.viresh.kumar@linaro.org> X-Mailer: git-send-email 2.7.1.410.g6faf27b In-Reply-To: <7d68a9e5dd338081342dd8b06310c2f3e61fccc0.1473996370.git.viresh.kumar@linaro.org> References: <7d68a9e5dd338081342dd8b06310c2f3e61fccc0.1473996370.git.viresh.kumar@linaro.org> In-Reply-To: <7d68a9e5dd338081342dd8b06310c2f3e61fccc0.1473996370.git.viresh.kumar@linaro.org> References: <7d68a9e5dd338081342dd8b06310c2f3e61fccc0.1473996370.git.viresh.kumar@linaro.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 Acked-by: Charles Keepax --- V1->V2: - Added Ack from Charles. --- drivers/mfd/wm8994-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c index 1990b2c90732..95e6bc55adbb 100644 --- a/drivers/mfd/wm8994-core.c +++ b/drivers/mfd/wm8994-core.c @@ -603,9 +603,9 @@ static int wm8994_device_init(struct wm8994 *wm8994, int irq) static void wm8994_device_exit(struct wm8994 *wm8994) { pm_runtime_disable(wm8994->dev); - mfd_remove_devices(wm8994->dev); wm8994_irq_exit(wm8994); regulator_bulk_disable(wm8994->num_supplies, wm8994->supplies); + mfd_remove_devices(wm8994->dev); } static const struct of_device_id wm8994_of_match[] = { -- 2.7.1.410.g6faf27b