Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1957100imu; Wed, 21 Nov 2018 04:44:08 -0800 (PST) X-Google-Smtp-Source: AFSGD/XWgQjzEtd/HG7usEDeWznnUD/OjtJm3RPa6cakDSLlA2uxYT4NeM4e+btesblRKS5Os3d0 X-Received: by 2002:a17:902:8a88:: with SMTP id p8-v6mr6501158plo.94.1542804248740; Wed, 21 Nov 2018 04:44:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542804248; cv=none; d=google.com; s=arc-20160816; b=a/M577yedjpNPAxtsP2HWf/6ZXawVQRLrczan8wiZz5EbFTwc0xUT0ipzLp2JEKA8i RwHSAaO1wXvRsa50eDoY8FcwpGiNPj7DP6KoUCprnWd+cVulKSFUBanOgF+G3ir+AXjm /1oPPt7MjIH+YKEKBjb+QqlVMYqgUlPxFYia1YgQKwgmWzTaQQVc7EcDRQSNMGxzHJEO jy2OWEH0U5IISgnCizzU7UgLFwH3p83C/hetzTlCn7Ft+Des3X8vkoqgDNYub9C1aFGl kf2RfNRF2WMA/iVkpjurQQoIbodS2cU9unhAWAwmuaidk8kxUstUyIvhXEWIQpnGET1i S90Q== 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:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:from:cc:to:subject:dkim-signature:dkim-filter; bh=OE2Ofg/Z2F3jD2kYIYIdQaLaRFk3hZo6XgaPXck4xoU=; b=jnGgTBWpcG8omVAGM36cyGU0VNzzr2/qkEA7d5cgGqs4I12+dB55KW4rl0Yng60PKV StODIHhFC/+84vLh87Q2ql2zVyKrVaasfiSAbFwxFKLbCRa1GFoHvP66SDraSlEkbWCY R///z9C6otrJevr+J9ES/dZB1RAsr9FiEFODyWjz/sZy/agmyPffWY9RkIc0Hlu0ZsHu zNv3D5XierGT/CfIeZIgWbJYVpS7nmejJe03cO8+tOpqe1cIN34wpSbPAAj/wl2Ns25V 2XR1dOSYD0Na8bAavAyX47ivLquZQGoMmo8y0lYDBcVlr0QN3KLOqVeVyy6SbbQO2x/l nUYQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=gBOYXYya; 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 g19si37726604pgj.358.2018.11.21.04.43.50; Wed, 21 Nov 2018 04:44:08 -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=gBOYXYya; 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 S1728764AbeKUVQE (ORCPT + 99 others); Wed, 21 Nov 2018 16:16:04 -0500 Received: from mailout1.w1.samsung.com ([210.118.77.11]:33228 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726849AbeKUVQD (ORCPT ); Wed, 21 Nov 2018 16:16:03 -0500 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20181121104209euoutp0189829a43dc30bc5dc9270598bad5396a~pHaITcgFf0105401054euoutp01Z for ; Wed, 21 Nov 2018 10:42:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20181121104209euoutp0189829a43dc30bc5dc9270598bad5396a~pHaITcgFf0105401054euoutp01Z DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1542796929; bh=OE2Ofg/Z2F3jD2kYIYIdQaLaRFk3hZo6XgaPXck4xoU=; h=Subject:To:Cc:From:Date:In-Reply-To:References:From; b=gBOYXYyaOf9Jymig1UwcD2l7blDJbdqMPjp0Zv6o4LwioGxlEW0TY4qErwaaX6VOZ ci3O5E4/+8SUQQCOrs7N4/8ZcM0yc0YaEmrkiH+N90jvYUnjL9mLzwoORO+RQvo0Tu KwN8TH2AS/I/Z5z7mr1Gob3vuKKOqOeWzvwkY0i4= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20181121104208eucas1p1bd1851e2f546c7a7db336b7c96f43f91~pHaHh7h3O0514605146eucas1p1U; Wed, 21 Nov 2018 10:42:08 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id 6A.EE.04441.08635FB5; Wed, 21 Nov 2018 10:42:08 +0000 (GMT) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20181121104207eucas1p2cd2fcbff22d365b5f5c66c3cffded2ad~pHaGjNA9s0319803198eucas1p2N; Wed, 21 Nov 2018 10:42:07 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20181121104207eusmtrp2e555dfc8e48d68a5199be309472bcc04~pHaGiVT4q1948819488eusmtrp2T; Wed, 21 Nov 2018 10:42:07 +0000 (GMT) X-AuditID: cbfec7f2-5e3ff70000001159-79-5bf536802901 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id E8.F2.04284.F7635FB5; Wed, 21 Nov 2018 10:42:07 +0000 (GMT) Received: from [106.116.147.30] (unknown [106.116.147.30]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20181121104207eusmtip12e27bfdc0b994fd1adaaeffce3735e59~pHaGLa5H32709227092eusmtip1F; Wed, 21 Nov 2018 10:42:06 +0000 (GMT) Subject: Re: [PATCH v2] regulator: wm8994: Don't use devres for enable GPIOs To: Charles Keepax , broonie@kernel.org Cc: linus.walleij@linaro.org, lgirdwood@gmail.com, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com From: Marek Szyprowski Message-ID: Date: Wed, 21 Nov 2018 11:42:06 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1 MIME-Version: 1.0 In-Reply-To: <20181121101316.32194-1-ckeepax@opensource.cirrus.com> Content-Transfer-Encoding: 7bit Content-Language: en-US X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrCKsWRmVeSWpSXmKPExsWy7djPc7oNZl+jDf7/4baY+vAJm8WV1k2M Ft+udDBZTPmznMni8q45bBaf3+9ndWDz2DnrLrvHplWdbB53ru1h85g+5z+jx+dNcgGsUVw2 Kak5mWWpRfp2CVwZkxdcYSt4JFTx+LtXA2M7fxcjJ4eEgInE0ZZ5TF2MXBxCAisYJdoXXIBy vjBKLGs+xAbhfGaUOHDsDxNMy9tlB6ASyxklFrcvg2p5zyjR9PUvaxcjB4ewgI/E1yUiIA0i Am4Sr++vYQaxmQUKJL71PgGz2QQMJbredrGB2LwCdhILl2xiAbFZBFQl9m1/BFYjKhAjcWzl DUaIGkGJkzOfgNVwCjhLnPg9ix1iprzE9rdzoOaLS9x6Mh/sHgmBVewSHa/OskFc7SLRv/I9 I4QtLPHq+BZ2CFtG4v9OmIZmYADMAJkK4vQwSmydswOq21ri8PGLYJ8xC2hKrN+lD2JKCDhK 7HvqCmHySdx4KwhxA5/EpG3TmSHCvBIdbUIQM9QkZh1fB7f14IVLzBMYlWYh+WwWkm9mIflm FsLaBYwsqxjFU0uLc9NTiw3zUsv1ihNzi0vz0vWS83M3MQLTzul/xz/tYPx6KekQowAHoxIP b4Lwl2gh1sSy4srcQ4wSHMxKIry/VL5GC/GmJFZWpRblxxeV5qQWH2KU5mBREuetZngQLSSQ nliSmp2aWpBaBJNl4uCUamAsbep0O3GqzF/IWMOox9dh4icp4T2Mfg2F2+4ufdRlGl+SPe+N U2Hs+U73yglX2pWjb078+rDZfd1TPpF/hVnb82QvOBmE8epnxRUdDXOykG0786pmS/3SyDcp Bj7qt26v5zZR6utasMHrZS3DowLtm+LLbp58Ktcq/myG5wWPLe8mrLnCXafEUpyRaKjFXFSc CABX2E+mNwMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrOIsWRmVeSWpSXmKPExsVy+t/xu7r1Zl+jDdYuELeY+vAJm8WV1k2M Ft+udDBZTPmznMni8q45bBaf3+9ndWDz2DnrLrvHplWdbB53ru1h85g+5z+jx+dNcgGsUXo2 RfmlJakKGfnFJbZK0YYWRnqGlhZ6RiaWeobG5rFWRqZK+nY2Kak5mWWpRfp2CXoZkxdcYSt4 JFTx+LtXA2M7fxcjJ4eEgInE22UH2LoYuTiEBJYySjy+epYRIiEjcXJaAyuELSzx51oXVNFb Rome5u9MXYwcHMICPhJfl4iA1IgIuEm8vr+GGcRmFiiQONlylx2ifhqjxIM5XWBD2QQMJbre ggzi5OAVsJNYuGQTC4jNIqAqsW/7I7BmUYEYic7r86BqBCVOznwCVsMp4Cxx4vcsdogF6hJ/ 5l2CWiYvsf3tHChbXOLWk/lMExiFZiFpn4WkZRaSlllIWhYwsqxiFEktLc5Nzy021CtOzC0u zUvXS87P3cQIjLRtx35u3sF4aWPwIUYBDkYlHt4E4S/RQqyJZcWVuYcYJTiYlUR4f6l8jRbi TUmsrEotyo8vKs1JLT7EaAr03ERmKdHkfGASyCuJNzQ1NLewNDQ3Njc2s1AS5z1vUBklJJCe WJKanZpakFoE08fEwSnVwFjecm9ibQH3tfAlie62m3by3P78ZtNvV+n8HBOz+5UM9pOidkiv dz7kVd1z+ovirdsCaR9EF2xqDOc5/N73TJuyxv+VXMl7mYvTXPxaGbqm7dx0wmyJ3KufLaZ6 z3OPbHDYIMT8wNxmx9Fmd1t3hX7XiRrG7i8T/gR0LZm66mQG08770/y3TlRiKc5INNRiLipO BADbDpDsygIAAA== X-CMS-MailID: 20181121104207eucas1p2cd2fcbff22d365b5f5c66c3cffded2ad X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20181121101410epcas3p27a2a577c3b5a0608f7808ff733fab9d1 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20181121101410epcas3p27a2a577c3b5a0608f7808ff733fab9d1 References: <20181121101316.32194-1-ckeepax@opensource.cirrus.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Charles, On 2018-11-21 11:13, Charles Keepax wrote: > The regulator core takes over managing the lifetime of the enable GPIO > once the regulator is registered. As such we shouldn't register the > enable GPIO using devm, or it will be freed twice. > > Reported-by: Marek Szyprowski > Signed-off-by: Charles Keepax > --- > > Again only build tested. Thanks for the patch. It fixes the observed GPIOlib warning. Tested-by: Marek Szyprowski It might sense to add: Fixes: 1d2f46814d20 ("regulator: wm8994: Pass descriptor instead of GPIO number") Linus, Mark: Similar issue is probably in the other regulator drivers, which use enable GPIO allocated by devm_gpio_get*(). This driver is simply the first one, which we observed it. It would be great if one would take a look into regulator_register() error path, because for some cases the GPIO will be freed, for the other - not. > Thanks, > Charles > > drivers/regulator/wm8994-regulator.c | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) > > diff --git a/drivers/regulator/wm8994-regulator.c b/drivers/regulator/wm8994-regulator.c > index d7fec533c4032..46e6b4ee1491a 100644 > --- a/drivers/regulator/wm8994-regulator.c > +++ b/drivers/regulator/wm8994-regulator.c > @@ -147,11 +147,14 @@ static int wm8994_ldo_probe(struct platform_device *pdev) > config.regmap = wm8994->regmap; > config.init_data = &ldo->init_data; > > - /* Look up LDO enable GPIO from the parent device node */ > - gpiod = devm_gpiod_get_optional(pdev->dev.parent, > - id ? "wlf,ldo2ena" : "wlf,ldo1ena", > - GPIOD_OUT_LOW | > - GPIOD_FLAGS_BIT_NONEXCLUSIVE); > + /* > + * Look up LDO enable GPIO from the parent device node, we don't > + * use devm because the regulator core will free the GPIO > + */ > + gpiod = gpiod_get_optional(pdev->dev.parent, > + id ? "wlf,ldo2ena" : "wlf,ldo1ena", > + GPIOD_OUT_LOW | > + GPIOD_FLAGS_BIT_NONEXCLUSIVE); > if (IS_ERR(gpiod)) > return PTR_ERR(gpiod); > config.ena_gpiod = gpiod; > @@ -184,6 +187,7 @@ static int wm8994_ldo_probe(struct platform_device *pdev) > return 0; > > err: > + gpiod_put(gpiod); > return ret; > } > Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland