Re: [PATCH] gpio: pca953x: Add optional reset gpio control

From: Andy Shevchenko
Date: Wed Jan 04 2017 - 05:32:05 EST


On Wed, Jan 4, 2017 at 12:20 PM, Vladimir Zapolskiy
<vladimir_zapolskiy@xxxxxxxxxx> wrote:
> On 01/04/2017 01:37 AM, Andy Shevchenko wrote:
>> On Mon, Jan 2, 2017 at 11:07 PM, Steve Longerbeam <slongerbeam@xxxxxxxxx> 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 <linux/of_platform.h>
>>> #include <linux/acpi.h>
>>> #include <linux/regulator/consumer.h>
>>
>>> +#include <linux/gpio/consumer.h>
>>
>> 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().

Perhaps it's time to add
drivers/reset/reset-gpio.c ?

>
>>> + if (IS_ERR(reset_gpio)) {
>>> + dev_err(&client->dev, "request for reset pin failed\n");
>>> + return PTR_ERR(reset_gpio);
>>> + }
>>> }
>>
>
> --
> With best wishes,
> Vladimir



--
With Best Regards,
Andy Shevchenko