Re: [PATCH v2 0/2] eeprom: at24: write-protect pin support

From: Bartosz Golaszewski
Date: Wed Dec 20 2017 - 10:05:41 EST


2017-12-20 16:00 GMT+01:00 Andy Shevchenko <andy.shevchenko@xxxxxxxxx>:
> On Wed, Dec 20, 2017 at 2:41 PM, Bartosz Golaszewski <brgl@xxxxxxxx> wrote:
>> 2017-12-20 11:21 GMT+01:00 Andy Shevchenko <andy.shevchenko@xxxxxxxxx>:
>>> On Wed, Dec 20, 2017 at 10:26 AM, Bartosz Golaszewski <brgl@xxxxxxxx> wrote:
>>>> AT24 EEPROMs have a write-protect pin, which - when pulled high -
>>>> inhibits writes to the upper quadrant of memory (although it has been
>>>> observed that on some chips it disables writing to the entire memory
>>>> range).
>>>>
>>>> On some boards, this pin is connected to a GPIO and pulled high by
>>>> default, which forces the user to manually change its state before
>>>> writing. On linux this means that we either need to hog the line all
>>>> the time, or set the GPIO value before writing from outside of the
>>>> at24 driver.
>>>>
>>>> This series adds support for the write-protect pin split into two
>>>> parts. The first patch extends the relevant binding document, while
>>>> the second modifies the at24 code to pull the write-protect GPIO
>>>> low (if present) during write operations.
>>>>
>>>
>>> Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
>>>
>>> A one totally minor nit: if it possible now to have one line where
>>> devm_gpiod_get_optional() is called?
>>> You may ignore this nit anyway.
>>>
>>
>> Hi Andy,
>>
>> I'm afraid I don't understand what you mean here. I do use
>> devm_gpiod_get_optional() in patch 2/2.
>
> I meant to do something like
> ...->wp_gpio = devm_gpiod_get_optional(...);
> if (IS_ERR(...))
> return ...;
>
> So, note that the first is occupied only one line.
>
> --
> With Best Regards,
> Andy Shevchenko

Oh, now I get it.

It doesn't fit into 80 characters if we use &client->dev as the first
argument, but I see that client->dev is used extensively in probe() so
we could probably use a separate struct device *dev helper variable
for that. I'll note it for future refactoring that will happen soon. I
prefer that this patch stays as it is though.

Thanks,
Bartosz