[FSL P50x0] Keyboard and mouse don't work anymore after the devicetree updates for 5.19

Rob Herring robh at kernel.org
Wed Jun 1 22:35:29 AEST 2022


On Tue, May 31, 2022 at 06:29:38PM +0200, Christian Zigotzky wrote:
> 
> 
> > On 31. May 2022, at 15:46, Rob Herring <robh at kernel.org> wrote:
> > 
> > On Mon, May 30, 2022 at 12:26 AM Christian Zigotzky
> > <chzigotzky at xenosoft.de> wrote:
> >> 
> >>> On 27 May 2022 at 04:23 pm, Rob Herring wrote:
> >>> The issue is in drivers/usb/host/fsl-mph-dr-of.c which copies the
> >>> resources to a child platform device. Can you try the following
> >>> change:
> >>> 
> >>> diff --git a/drivers/usb/host/fsl-mph-dr-of.c b/drivers/usb/host/fsl-mph-dr-of.c
> >>> index 44a7e58a26e3..47d9b7be60da 100644
> >>> --- a/drivers/usb/host/fsl-mph-dr-of.c
> >>> +++ b/drivers/usb/host/fsl-mph-dr-of.c
> >>> @@ -80,8 +80,6 @@ static struct platform_device *fsl_usb2_device_register(
> >>>                                         const char *name, int id)
> >>>  {
> >>>         struct platform_device *pdev;
> >>> -       const struct resource *res = ofdev->resource;
> >>> -       unsigned int num = ofdev->num_resources;
> >>>         int retval;
> >>> 
> >>>         pdev = platform_device_alloc(name, id);
> >>> @@ -106,11 +104,7 @@ static struct platform_device *fsl_usb2_device_register(
> >>>         if (retval)
> >>>                 goto error;
> >>> 
> >>> -       if (num) {
> >>> -               retval = platform_device_add_resources(pdev, res, num);
> >>> -               if (retval)
> >>> -                       goto error;
> >>> -       }
> >>> +       pdev->dev.of_node = ofdev->dev.of_node;
> >>> 
> >>>         retval = platform_device_add(pdev);
> >>>         if (retval)
> >> Hello Rob,
> >> 
> >> Thanks a lot for your patch! Unfortunately, this leads to a boot loop.
> >> Do you have another idea?
> > 
> > Do you have a dmesg log?
> 
> From the boot loop?

Yes.

> 
> > 
> > The other way to fix is creating a IRQ resource and adding it to the
> > child device resources.
> 
> Good idea.

Not really. I'd rather have the child device just point to the DT node, 
but that doesn't seem to work for some drivers and I want to understand 
why.

Rob


More information about the Linuxppc-dev mailing list