Re: [PATCH] serial: st-asc: Use new GPIOD API to obtain RTS pin

From: Lee Jones
Date: Thu Feb 09 2017 - 03:21:59 EST


On Wed, 08 Feb 2017, Greg KH wrote:

> On Wed, Feb 08, 2017 at 09:24:25AM +0000, Lee Jones wrote:
> > The commits mentioned below adapt the GPIO API to allow more information
> > to be passed directly through devm_get_gpiod_from_child() in the first
> > instance. This facilitates the removal of subsequent calls, such as
> > gpiod_direction_output(). This patch firstly moves to utilise the new
> > API and secondly removes the now superfluous call do set the direction.
> >
> > Fixes: a264d10ff45c ("gpiolib: Convert fwnode_get_named_gpiod() to configure GPIO")
> > Fixes: b2987d7438e0 ("gpio: Pass GPIO label down to gpiod_request")
> > Fixes: 4b0947974e59 ("gpio: Rename devm_get_gpiod_from_child()")
> > Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> > Suggested-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
> > Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
> > ---
> > drivers/tty/serial/st-asc.c | 11 ++++++-----
> > 1 file changed, 6 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/tty/serial/st-asc.c b/drivers/tty/serial/st-asc.c
> > index bcf1d33..c334bcc 100644
> > --- a/drivers/tty/serial/st-asc.c
> > +++ b/drivers/tty/serial/st-asc.c
> > @@ -575,12 +575,13 @@ static void asc_set_termios(struct uart_port *port, struct ktermios *termios,
> > pinctrl_select_state(ascport->pinctrl,
> > ascport->states[NO_HW_FLOWCTRL]);
> >
> > - gpiod = devm_get_gpiod_from_child(port->dev, "rts",
> > - &np->fwnode);
> > - if (!IS_ERR(gpiod)) {
> > - gpiod_direction_output(gpiod, 0);
> > + gpiod = devm_fwnode_get_gpiod_from_child(port->dev,
> > + "rts",
> > + &np->fwnode,
> > + GPIOD_OUT_LOW,
> > + np->name);
>
> I can't apply this :(
>
> Usually, when you move apis around, you add it, then convert it, wait a
> kernel release, then remove the old one. That allows for issues like
> this when new code is added in one maintainer's branch but not yours.
>
> So how about reverting your "drop the function" patch and then wait for
> -rc2 to really remove it?

I assume this is a question for LinusW?

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog