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

From: Greg KH <[email-masked]>
Date: Wed, 8 Feb 2017 14:00:39 +0100

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 <[email-masked]>
> Suggested-by: Boris Brezillon <[email-masked]>
> Signed-off-by: Lee Jones <[email-masked]>
> ---
>  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?

thanks,

greg k-h