From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934553AbdADKZo (ORCPT ); Wed, 4 Jan 2017 05:25:44 -0500 Received: from relay1.mentorg.com ([192.94.38.131]:55327 "EHLO relay1.mentorg.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934026AbdADKZj (ORCPT ); Wed, 4 Jan 2017 05:25:39 -0500 Subject: Re: [PATCH] gpio: pca953x: Add optional reset gpio control To: Steve Longerbeam , , , , References: <1483391271-17304-1-git-send-email-steve_longerbeam@mentor.com> <1483391271-17304-2-git-send-email-steve_longerbeam@mentor.com> CC: , , , Steve Longerbeam From: Vladimir Zapolskiy Message-ID: Date: Wed, 4 Jan 2017 12:25:33 +0200 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Icedove/45.2.0 MIME-Version: 1.0 In-Reply-To: <1483391271-17304-2-git-send-email-steve_longerbeam@mentor.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [137.202.0.87] X-ClientProxiedBy: svr-ies-mbx-02.mgc.mentorg.com (139.181.222.2) To SVR-IES-MBX-04.mgc.mentorg.com (139.181.222.4) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Steve, On 01/02/2017 11:07 PM, Steve Longerbeam wrote: > Add optional reset-gpios pin control. If present, de-assert the > specified reset gpio pin to bring the chip out of reset. > > Signed-off-by: Steve Longerbeam > Cc: Linus Walleij > Cc: Alexandre Courbot > Cc: linux-gpio@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > --- > Documentation/devicetree/bindings/gpio/gpio-pca953x.txt | 4 ++++ > drivers/gpio/gpio-pca953x.c | 11 +++++++++++ > 2 files changed, 15 insertions(+) > > diff --git a/Documentation/devicetree/bindings/gpio/gpio-pca953x.txt b/Documentation/devicetree/bindings/gpio/gpio-pca953x.txt > index 08dd15f..da54f4c 100644 > --- a/Documentation/devicetree/bindings/gpio/gpio-pca953x.txt > +++ b/Documentation/devicetree/bindings/gpio/gpio-pca953x.txt > @@ -29,6 +29,10 @@ Required properties: > onsemi,pca9654 > exar,xra1202 > > +Optional properties: > + - reset-gpios: GPIO specification for the RESET input > + > + Drop the surplus empty line above. > Example: > > > diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c > index d5d72d8..ca2ddea 100644 > --- a/drivers/gpio/gpio-pca953x.c > +++ b/drivers/gpio/gpio-pca953x.c > @@ -22,6 +22,7 @@ > #include > #include > #include > +#include > > #define PCA953X_INPUT 0 > #define PCA953X_OUTPUT 1 > @@ -754,8 +755,18 @@ static int pca953x_probe(struct i2c_client *client, > invert = pdata->invert; > chip->names = pdata->names; > } else { > + struct gpio_desc *reset_gpio; > + > chip->gpio_start = -1; > irq_base = 0; > + > + /* see if we need to de-assert a reset pin */ > + reset_gpio = devm_gpiod_get_optional(&client->dev, "reset", > + GPIOD_OUT_LOW); > + if (IS_ERR(reset_gpio)) { > + dev_err(&client->dev, "request for reset pin failed\n"); I'm not confident that the error message is wanted here, you may consider either to remove it or at least print it out if (PTR_ERR(reset_gpio) != -EPROBE_DEFER). > + return PTR_ERR(reset_gpio); > + } > } > > chip->client = client; > Reviewed-by: Vladimir Zapolskiy -- With best wishes, Vladimir