[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