Re: [PATCH] serial: amba-pl011: set fwnode from parent device

From: Saravana Kannan
Date: Fri Oct 13 2023 - 17:29:20 EST


On Fri, Oct 13, 2023 at 8:48 AM Emil Kronborg Andersen <emkan@xxxxxxxxx> wrote:
>
> After commit 3fb16866b51d ("driver core: fw_devlink: Make cycle
> detection more robust"), consumer devices without their fwnode set
> printed errors like the one below:
>
> [ 0.261887] uart-pl011 3f201000.serial: Failed to create device link (0x180) with soc:firmware:gpio
>
> To fix this, set the fwnode so fw_devlink can find and handle it
> properly.
>
> Fixes: 3fb16866b51d ("driver core: fw_devlink: Make cycle detection more robust")
> Signed-off-by: Emil Kronborg Andersen <emkan@xxxxxxxxx>
> ---
> drivers/tty/serial/amba-pl011.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c
> index 3dc9b0fcab1c..29cef84b71c0 100644
> --- a/drivers/tty/serial/amba-pl011.c
> +++ b/drivers/tty/serial/amba-pl011.c
> @@ -2798,6 +2798,8 @@ static int pl011_probe(struct amba_device *dev, const struct amba_id *id)
> int portnr, ret;
> u32 val;
>
> + device_set_node(&dev->dev, dev_fwnode(dev->dev.parent));
> +

Can we do this at a tty/serial framework level instead of just this
driver? Also, this is the latest kernel? I feel like I fixed exactly
this (but at a framework level) several months ago.

-Saravana

> portnr = pl011_find_free_port();
> if (portnr < 0)
> return portnr;
> --
> 2.41.0
>