Re: linux-next: build failure after merge of the gpio tree

From: Lee Jones
Date: Wed Feb 08 2017 - 03:50:24 EST


On Wed, 08 Feb 2017, Stephen Rothwell wrote:

> Hi Linus,

I believe this patch would need to go in via Greg's tree.

(see below)

> After merging the gpio tree, today's linux-next build (arm
> multi_v7_defconfig) failed like this:
>
> drivers/tty/serial/st-asc.c: In function 'asc_set_termios':
> drivers/tty/serial/st-asc.c:578:12: error: implicit declaration of function 'devm_get_gpiod_from_child' [-Werror=implicit-function-declaration]
> gpiod = devm_get_gpiod_from_child(port->dev, "rts",
> ^
> drivers/tty/serial/st-asc.c:578:10: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
> gpiod = devm_get_gpiod_from_child(port->dev, "rts",
> ^
>
> Caused by commits
>
> a264d10ff45c ("gpiolib: Convert fwnode_get_named_gpiod() to configure GPIO")
> b2987d7438e0 ("gpio: Pass GPIO label down to gpiod_request")
> 4b0947974e59 ("gpio: Rename devm_get_gpiod_from_child()")
>
> interacting with commit
>
> d7356256488c ("serial: st-asc: (De)Register GPIOD and swap Pinctrl profiles")
>
> from the tty tree.
>
> I applied the following merge fix patch (I guessed about the new arguments):
>
> From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> Date: Wed, 8 Feb 2017 15:50:22 +1100
> Subject: [PATCH] serial: st-asc: merge fix for devm_get_gpiod_from_child rename
>
> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> ---
> drivers/tty/serial/st-asc.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/tty/serial/st-asc.c b/drivers/tty/serial/st-asc.c
> index bcf1d33e6ffe..c02e6b089364 100644
> --- a/drivers/tty/serial/st-asc.c
> +++ b/drivers/tty/serial/st-asc.c
> @@ -575,8 +575,11 @@ 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);
> + gpiod = devm_fwnode_get_gpiod_from_child(port->dev,
> + "rts",
> + &np->fwnode,
> + GPIOD_IN,

GPIOD_OUT

> + np->name);
> if (!IS_ERR(gpiod)) {
> gpiod_direction_output(gpiod, 0);
> ascport->rts = gpiod;

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