Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp4107228imm; Mon, 14 May 2018 02:40:56 -0700 (PDT) X-Google-Smtp-Source: AB8JxZp82+1GqQAqhGiz6nxdDiBkEtun7FMdfPRZr0nBz0KJhs84yGkLHCOhxw17TjijiFH1IxFJ X-Received: by 2002:a17:902:584:: with SMTP id f4-v6mr9014788plf.290.1526290856024; Mon, 14 May 2018 02:40:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526290855; cv=none; d=google.com; s=arc-20160816; b=efXp4JXTQs1e0K9SxPMSxwJ9WqwssGp1Ds00o6SJgFOLMNPP31FyBXMGg8ykuAkF/A YDPVMSle2YVxQHMIri+P/umve04PAWviDBwOJJIvyxcLymQc5xeJMMtaVnqUFbclrJqn qaz5YMlj0++wHNeqoSGTENDn3pJrxuCgv7Vij6upahq5BrssFDFhDcJ3j7muSj4bEkGC Yv8R+RMJIM1sV9wD7sL49TKbhRRBRTcIyJDqBSEiAPnIFKBmnRZuJa/ZkcTgE5PpknBi dgPIvC9lkP3hZdDkOJs3f5bSPqzXknezgcEf5rmsmuo4iXkIIWD2Wyytplo2lfQjgTqL ckqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=7uFWImMFDcLz4PUpKrtsGZsBaNYVWoaZh2dsXdWefy0=; b=CeF7VncQfdEJa2NpADDei7I1t1jhPbB2ynGGVAqkM02IB0+Uzj5TlgTCqUJHxOdw7d OMJQCLDagUR8Z7k32zXm0X4uoaJV/rMfshWhtAqCCw1w/AE/RBU+vScDnCb7wwYHWZsh E4smrYGlPuamjhFP5oA0cx3C6xjBiBTgNPPxuWrSezLVHx5O9Az0IaAvMmRVzftzU0+s OI1w07KG3vth9FxcEH0h1zwiZcp9yorgC/f0P0HR1vm49ZvB25KWF7kuneYbQ2EyNGY6 qN4CQktDjUgtZ1sFPzJPQYEzzppVL7eTSuqMGkRWqThfjICNzovQExCzcSG3VmLolzrw VFtw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Tl5zej/E; 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=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o9-v6si7753762pgn.199.2018.05.14.02.40.41; Mon, 14 May 2018 02:40:55 -0700 (PDT) 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=@kernel.org header.s=default header.b=Tl5zej/E; 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=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752534AbeENJkS (ORCPT + 99 others); Mon, 14 May 2018 05:40:18 -0400 Received: from mail.kernel.org ([198.145.29.99]:39218 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752178AbeENJkR (ORCPT ); Mon, 14 May 2018 05:40:17 -0400 Received: from mail-wm0-f43.google.com (mail-wm0-f43.google.com [74.125.82.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6031E2172B for ; Mon, 14 May 2018 09:40:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1526290816; bh=l/zDqpPPpTE9twb6dAbcqASe8mPW6Q/CrlWUS4NV8jk=; h=In-Reply-To:References:From:Date:Subject:To:Cc:From; b=Tl5zej/EhQkBGw1ZGQwU21JeeO0oqBlhpjhU9NQCrtSQdOmnLiztkEy+t0agPgxDh 21RiHb8k+5YRzZMYJC5ZKLOX4tkB0nVrDkihmye91E9OWRIRSbkPnRNmKGqEjCnbGX mwLNn7coB3Wqy72HO0YUg6Uso9MnNIQOGciZjFi8= Received: by mail-wm0-f43.google.com with SMTP id o78-v6so13893632wmg.0 for ; Mon, 14 May 2018 02:40:16 -0700 (PDT) X-Gm-Message-State: ALKqPwfHii/NAOgnxw9464zcfNOFC6PHTJN1J2T3kz3XARb7rvffdTGW PZ3miZPuB6bH5uopjp08k0AfpxVg19d0EpMjcrI= X-Received: by 2002:a1c:c588:: with SMTP id v130-v6mr4278588wmf.135.1526290814879; Mon, 14 May 2018 02:40:14 -0700 (PDT) MIME-Version: 1.0 Received: by 10.223.199.70 with HTTP; Mon, 14 May 2018 02:40:14 -0700 (PDT) In-Reply-To: References: <20180422230742.3729-1-linus.walleij@linaro.org> <20180422230742.3729-10-linus.walleij@linaro.org> From: Krzysztof Kozlowski Date: Mon, 14 May 2018 11:40:14 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 10/18 v2] regulator: s2mps11: Pass descriptor instead of GPIO number To: Linus Walleij Cc: Liam Girdwood , Mark Brown , linux-kernel@vger.kernel.org, Sangbeom Kim , Chanwoo Choi Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 14, 2018 at 9:59 AM, Krzysztof Kozlowski wrote: > On Mon, Apr 23, 2018 at 1:07 AM, Linus Walleij wrote: >> Instead of passing a global GPIO number for the enable GPIO, pass >> a descriptor looked up with the standard devm_gpiod_get_optional() >> call. >> >> This regulator supports passing platform data, but enable/sleep >> regulators are looked up from the device tree exclusively, so >> we can need not touch other files. >> >> Cc: Krzysztof Kozlowski >> Cc: Sangbeom Kim >> Cc: Chanwoo Choi >> Signed-off-by: Linus Walleij >> --- >> ChangeLog v1->v2: >> - Rebase the patch on the other changes. >> --- >> drivers/regulator/s2mps11.c | 46 ++++++++++++++++++++++----------------------- >> 1 file changed, 23 insertions(+), 23 deletions(-) >> >> diff --git a/drivers/regulator/s2mps11.c b/drivers/regulator/s2mps11.c >> index 7726b874e539..9a1dca26362e 100644 >> --- a/drivers/regulator/s2mps11.c >> +++ b/drivers/regulator/s2mps11.c >> @@ -18,7 +18,7 @@ >> >> #include >> #include >> -#include >> +#include >> #include >> #include >> #include >> @@ -27,7 +27,6 @@ >> #include >> #include >> #include >> -#include >> #include >> #include >> #include >> @@ -57,7 +56,7 @@ struct s2mps11_info { >> * Array (size: number of regulators) with GPIO-s for external >> * sleep control. >> */ >> - int *ext_control_gpio; >> + struct gpio_desc **ext_control_gpiod; >> }; >> >> static int get_ramp_delay(int ramp_delay) >> @@ -524,7 +523,7 @@ static int s2mps14_regulator_enable(struct regulator_dev *rdev) >> case S2MPS14X: >> if (test_bit(rdev_get_id(rdev), s2mps11->suspend_state)) >> val = S2MPS14_ENABLE_SUSPEND; >> - else if (gpio_is_valid(s2mps11->ext_control_gpio[rdev_get_id(rdev)])) >> + else if (s2mps11->ext_control_gpiod[rdev_get_id(rdev)]) >> val = S2MPS14_ENABLE_EXT_CONTROL; >> else >> val = rdev->desc->enable_mask; >> @@ -818,7 +817,7 @@ static int s2mps14_pmic_enable_ext_control(struct s2mps11_info *s2mps11, >> static void s2mps14_pmic_dt_parse_ext_control_gpio(struct platform_device *pdev, >> struct of_regulator_match *rdata, struct s2mps11_info *s2mps11) >> { >> - int *gpio = s2mps11->ext_control_gpio; >> + struct gpio_desc **gpio = s2mps11->ext_control_gpiod; >> unsigned int i; >> unsigned int valid_regulators[3] = { S2MPS14_LDO10, S2MPS14_LDO11, >> S2MPS14_LDO12 }; >> @@ -829,11 +828,20 @@ static void s2mps14_pmic_dt_parse_ext_control_gpio(struct platform_device *pdev, >> if (!rdata[reg].init_data || !rdata[reg].of_node) >> continue; >> >> - gpio[reg] = of_get_named_gpio(rdata[reg].of_node, >> - "samsung,ext-control-gpios", 0); >> - if (gpio_is_valid(gpio[reg])) >> - dev_dbg(&pdev->dev, "Using GPIO %d for ext-control over %d/%s\n", >> - gpio[reg], reg, rdata[reg].name); >> + gpio[reg] = devm_gpiod_get_from_of_node(&pdev->dev, >> + rdata[reg].of_node, >> + "samsung,ext-control-gpios", >> + 0, >> + GPIOD_OUT_HIGH, >> + "s2mps11-LDO"); > > The same as with max77686 - this can be also for bucks so how about > the name of "s2mps11-regulator"? With the name change: Reviewed-by: Krzysztof Kozlowski Tested on Odroid XU3 (with s2mps11 although not using any GPIOs for regulators, so at least default paths are not broken): Tested-by: Krzysztof Kozlowski Best regards, Krzysztof