From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935999AbdADKUx (ORCPT ); Wed, 4 Jan 2017 05:20:53 -0500 Received: from relay1.mentorg.com ([192.94.38.131]:54751 "EHLO relay1.mentorg.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752970AbdADKUq (ORCPT ); Wed, 4 Jan 2017 05:20:46 -0500 Subject: Re: [PATCH] gpio: pca953x: Add optional reset gpio control To: Andy Shevchenko , Steve Longerbeam References: <1483391271-17304-1-git-send-email-steve_longerbeam@mentor.com> <1483391271-17304-2-git-send-email-steve_longerbeam@mentor.com> CC: Linus Walleij , Alexandre Courbot , Rob Herring , Mark Rutland , "linux-gpio@vger.kernel.org" , devicetree , "linux-kernel@vger.kernel.org" , Steve Longerbeam From: Vladimir Zapolskiy Message-ID: <7bfce806-7670-0bf3-bdf2-00aaf68b5b11@mentor.com> Date: Wed, 4 Jan 2017 12:20:40 +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: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [137.202.0.87] X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) 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 On 01/04/2017 01:37 AM, Andy Shevchenko wrote: > On Mon, Jan 2, 2017 at 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. > >> --- a/drivers/gpio/gpio-pca953x.c >> +++ b/drivers/gpio/gpio-pca953x.c >> @@ -22,6 +22,7 @@ >> #include >> #include >> #include > >> +#include > > Please, try to put it somehow alphabetically ordered (yes, I see it's > not in general, but try to squeeze it into longest part which is > ordered). > >> >> #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 */ > > see -> See > >> + reset_gpio = devm_gpiod_get_optional(&client->dev, "reset", >> + GPIOD_OUT_LOW); > > Shouldn't be _optional_exclusive? > See this recent discussion https://patchwork.ozlabs.org/patch/706002/ There is no devm_gpiod_get_optional_exclusive(), probably you confuse the function with devm_reset_control_get_optional_exclusive(). >> + if (IS_ERR(reset_gpio)) { >> + dev_err(&client->dev, "request for reset pin failed\n"); >> + return PTR_ERR(reset_gpio); >> + } >> } > -- With best wishes, Vladimir