On Tue, May 31, 2022 at 06:29:38PM +0200, Christian Zigotzky wrote: > > > > On 31. May 2022, at 15:46, Rob Herring <r...@kernel.org> wrote: > > > > On Mon, May 30, 2022 at 12:26 AM Christian Zigotzky > > <chzigot...@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