Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp4731362ybv; Wed, 26 Feb 2020 02:09:55 -0800 (PST) X-Google-Smtp-Source: APXvYqwWbBSL6j5oW5/LVsJH6ukNafcy8Z6VWrfFJZuTq7WXDr2njjM6+JpwNzgYwK6r1ZHayjQ8 X-Received: by 2002:aca:f05:: with SMTP id 5mr2457707oip.140.1582711795342; Wed, 26 Feb 2020 02:09:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582711795; cv=none; d=google.com; s=arc-20160816; b=kiC7oORnvZceu/pSeSSeECa9w8t2fE7MuxfB3nig13zs4lqteGiVr5COZqGaJ5GmDt gJR7W6bV2YXJCr6ASji5kSTUCB3t3IyGmxMMj8ve79nHG7wVReyMZu6r7PhgQR50LzUH DLaAQcUQzUUZIrshMb4I+Dv5c0SeLrKPn/GHHF44eem++X5oFJm7oIoaeF252AJ1OqCm LOQc3NSTb5QY2ppnGKACSSabbu4pj5Z+GgX21h+KMNsyKSXoODhcPXpr1t92MyuHJqCj Ry+PuPhbXmfNCnQp2gX0eObe6V3SN5u3kXU3iEWugE9R3yQrho61PP9pv822r2CkZ7rG 9A/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:cms-type:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature:dkim-filter; bh=odmVlu3IWMO2MMx78wYMzn/eBqxQI465FK6+timZniI=; b=ZTaoWEqzDRlf8igqlghmtI0PEsWC7WL/2dZSNLVnCth2cUPesaR2/p6wWq2mrRFA+P YTXCFEWswDPGsojOIbLAhaqr4U1rjGh1UkVEpIb3yT1qKid6gSARcGc3HfOSM5FJjSwI yGC8ZhdtT+ulmdz1Op7azwB26bBPkocaI7/FYBS8c/STcz2MRHEESRY590vpyX1PVMSd RYfehxnG2Mc8S5Rz7si7ZlMQnB6bNWhQkLbGv27zdfxRA3P8HlLB4BaxUCccZCZKY7lF Y36rX0UDgyiB+zGBzMH+7y5kJ1Lgf7N5W9dJ62Zyj3TqAxevD1BfrXOYd2C8MtXVkMXh QV5w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=izdwBI6U; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k10si921146otn.323.2020.02.26.02.09.43; Wed, 26 Feb 2020 02:09:55 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=izdwBI6U; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727916AbgBZKIR (ORCPT + 99 others); Wed, 26 Feb 2020 05:08:17 -0500 Received: from mailout1.w1.samsung.com ([210.118.77.11]:53038 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726927AbgBZKIR (ORCPT ); Wed, 26 Feb 2020 05:08:17 -0500 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20200226100815euoutp01b72afeb838a9dcf7d3006d94affb9f1e~26_bTRSzn1266412664euoutp01h for ; Wed, 26 Feb 2020 10:08:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20200226100815euoutp01b72afeb838a9dcf7d3006d94affb9f1e~26_bTRSzn1266412664euoutp01h DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1582711695; bh=odmVlu3IWMO2MMx78wYMzn/eBqxQI465FK6+timZniI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=izdwBI6U9t7d3eoTy6CoWcpIM36WAiwjc43sL7Ls9kiwmpmY7ZPwLgqeaYOIUML8A kVTMtURN3Otwiex7OQrLdbrJcYP2avOSkd4z/zQj8K2pDIE52t7lh0KQtqM2GqtxWi DCgG/FPJP8atm9hWJ1aX/qc8PL2gmCRJ/Fzpxs1U= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20200226100815eucas1p1c2dfb065e617406e9307e106d61c7a6c~26_bAMare1157311573eucas1p1s; Wed, 26 Feb 2020 10:08:15 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id F2.E3.60679.F83465E5; Wed, 26 Feb 2020 10:08:15 +0000 (GMT) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20200226100815eucas1p2f4448e3dea078bfc58a8acdc70340c11~26_auDTQA1144611446eucas1p27; Wed, 26 Feb 2020 10:08:15 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20200226100815eusmtrp15a775f2d53936094604fe8484e42dec1~26_atbpbX1384413844eusmtrp1Z; Wed, 26 Feb 2020 10:08:15 +0000 (GMT) X-AuditID: cbfec7f4-0e5ff7000001ed07-8b-5e56438f08b8 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id E2.8B.07950.E83465E5; Wed, 26 Feb 2020 10:08:15 +0000 (GMT) Received: from AMDC2765.digital.local (unknown [106.120.51.73]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20200226100814eusmtip187073e44d397c1495484d540c13c1121~26_aTCZkw0568105681eusmtip1J; Wed, 26 Feb 2020 10:08:14 +0000 (GMT) From: Marek Szyprowski To: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Cc: Marek Szyprowski , Mark Brown , Sylwester Nawrocki , Lee Jones , Bartlomiej Zolnierkiewicz Subject: [PATCH v2 2/2] mfd: wm8994: Fix unbalanced calls to regulator_bulk_disable() Date: Wed, 26 Feb 2020 11:08:02 +0100 Message-Id: <20200226100802.16384-2-m.szyprowski@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200226100802.16384-1-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrNIsWRmVeSWpSXmKPExsWy7djP87r9zmFxBhemClpcuXiIyWLjjPWs FlMfPmGzuP/1KKPF5V1z2CzWHrnLbnH4TTurA7vHhs9NbB6bVnWyedy5tofNo2/LKkaPz5vk AlijuGxSUnMyy1KL9O0SuDKmbLzMXvCfu2JOYy9zA+MMri5GTg4JAROJ2zPOs3UxcnEICaxg lOjae4cFwvnCKDFh1VZGCOczo8T3E+uZYFouL2mFalnOKNF0cRtCy6trJ1lAqtgEDCW63nax gdgiArYSr3c0gBUxC9xklNhxpw+sSFggXKLp0jewsSwCqhJHrp0Gs3mBGm5v7GGGWCcvsXrD ASCbg4NTwE7i6fFMiPBrNonVv5QhbBeJOW8nsULYwhKvjm9hh7BlJE5P7gHbKyHQzCjx8Nxa dginh1HictMMRogqa4k7536xgSxgFtCUWL9LHyLsKDHt/BsmkLCEAJ/EjbeCIGFmIHPStunM EGFeiY42IYhqNYlZx9fBrT144RJUiYfE4gZDSPBMZJSYd/IE2wRG+VkIuxYwMq5iFE8tLc5N Ty02ykst1ytOzC0uzUvXS87P3cQITBKn/x3/soNx15+kQ4wCHIxKPLwvOEPjhFgTy4orcw8x SnAwK4nwbvwKFOJNSaysSi3Kjy8qzUktPsQozcGiJM5rvOhlrJBAemJJanZqakFqEUyWiYNT qoGxwe+LkF+jyatzZuc5e//8dLc5I8W7d6egZgg7s1G739bJE+MzEu8duMbscy71dOOmTUkb qrIXL5r0zl+syblT5tevnssB/25HdP1a8MbO7e3/mkvZ+256BxSZyrRqpS23Y3qlfU7zdRd3 eWGpaLz7WdVgm8J3G3xcCxeJnn+uJPHi09xzfg5KLMUZiYZazEXFiQBy8kOvDgMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrNLMWRmVeSWpSXmKPExsVy+t/xu7r9zmFxBl+KLK5cPMRksXHGelaL qQ+fsFnc/3qU0eLyrjlsFmuP3GW3OPymndWB3WPD5yY2j02rOtk87lzbw+bRt2UVo8fnTXIB rFF6NkX5pSWpChn5xSW2StGGFkZ6hpYWekYmlnqGxuaxVkamSvp2NimpOZllqUX6dgl6GVM2 XmYv+M9dMaexl7mBcQZXFyMnh4SAicTlJa1sXYxcHEICSxklOr5tZ4NIyEicnNbACmELS/y5 1gVV9IlRYu+LHmaQBJuAoUTX2y6wBhEBe4kHv/6B2cwCdxklrrz2A7GFBUIlpm+6yQRiswio Shy5dhrM5hWwlbi9EWKOhIC8xOoNB4BsDg5OATuJp8czQcJCQCWrrx1lncDIt4CRYRWjSGpp cW56brGRXnFibnFpXrpecn7uJkZgwG479nPLDsaud8GHGAU4GJV4eF9whsYJsSaWFVfmHmKU 4GBWEuHd+BUoxJuSWFmVWpQfX1Sak1p8iNEU6KaJzFKiyfnAaMoriTc0NTS3sDQ0NzY3NrNQ EuftEDgYIySQnliSmp2aWpBaBNPHxMEp1cC4zNPoSKVT9xZn5Qcyt1YXRFZ88K41vDD9xL7n 11h0BH/ofg18Wbnvw9lPr4trvl0QN1mQf2HebasM1Q8nBd/VZS0NCzilrW564rBEfcjZlSWB HUzXd2kZK86NesHp1LJUpHiz8He+V30eDw0/31hnmq11Jngnm9XEwkshyy98tNm1+qdljUii EktxRqKhFnNRcSIAdJuZPm4CAAA= X-CMS-MailID: 20200226100815eucas1p2f4448e3dea078bfc58a8acdc70340c11 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20200226100815eucas1p2f4448e3dea078bfc58a8acdc70340c11 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200226100815eucas1p2f4448e3dea078bfc58a8acdc70340c11 References: <20200226100802.16384-1-m.szyprowski@samsung.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When runtime PM is enabled, regulators are being controlled by the driver's suspend and resume callbacks. They are also unconditionally enabled at driver's probe(), and disabled in remove() functions. Add more calls to runtime PM framework to ensure that the device's runtime PM state matches the regulators state: 1. at the end of probe() function: set runtime PM state to active, so there will be no spurious call to resume(); 2. in remove(), ensure that resume() is called before disabling runtime PM management and unconditionally disabling the regulators. Signed-off-by: Marek Szyprowski --- drivers/mfd/wm8994-core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c index 737dede4a95c..69d973ec42bf 100644 --- a/drivers/mfd/wm8994-core.c +++ b/drivers/mfd/wm8994-core.c @@ -584,6 +584,7 @@ static int wm8994_device_init(struct wm8994 *wm8994, int irq) goto err_irq; } + pm_runtime_set_active(wm8994->dev); pm_runtime_enable(wm8994->dev); pm_runtime_idle(wm8994->dev); @@ -603,7 +604,9 @@ static int wm8994_device_init(struct wm8994 *wm8994, int irq) static void wm8994_device_exit(struct wm8994 *wm8994) { + pm_runtime_get_sync(wm8994->dev); pm_runtime_disable(wm8994->dev); + pm_runtime_put_noidle(wm8994->dev); wm8994_irq_exit(wm8994); regulator_bulk_disable(wm8994->num_supplies, wm8994->supplies); regulator_bulk_free(wm8994->num_supplies, wm8994->supplies); -- 2.17.1