[lkml]   [2017]   [Apr]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 1/3] gpio - Add EXAR XRA1403 SPI GPIO expander driver
On Wed, Apr 5, 2017 at 3:24 PM, Han, Nandor (GE Healthcare)
<> wrote:
> [Me]
>> > + /* bring the chip out of reset */
>> > + reset_gpio = gpiod_get_optional(&spi->dev, "reset", GPIOD_OUT_LOW);
>> > + if (IS_ERR(reset_gpio))
>> > + dev_warn(&spi->dev, "could not get reset-gpios\n");
>> > + else if (reset_gpio)
>> > + gpiod_put(reset_gpio);
>> I don't think you should put it, other than in the remove()
>> function and in that case you need to have it in the
>> state container.
> Can you please be more explicit here.
> Currently I'm trying to bring the device out from reset in case reset GPIO is provided.
> I don't see how this could be done in remove() :)

If you issue gpiod_put() you release the GPIO hande so something else
can go in and grab the GPIO and assert the reset.

This is not what you want to make possible: you want to hold this gpiod handle
as long as the driver is running. devm_gpiod_get_optional() will do the
trick if you don't want to put the handle under explicit control.

Linus Walleij

 \ /
  Last update: 2017-04-07 12:08    [W:0.058 / U:0.136 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site