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

From: Greg KH
Date: Thu Feb 09 2017 - 03:55:01 EST


On Thu, Feb 09, 2017 at 08:21:50AM +0000, Lee Jones wrote:
> 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?

It's for whom ever is causing this breakage by removing an api in this
manner.

greg k-h