On Thu, Jun 9, 2022 at 12:03 PM Christian Zigotzky <chzigot...@xenosoft.de> wrote: > > On 06 June 2022 at 07:06 pm, Rob Herring wrote: > > On Mon, Jun 6, 2022 at 11:14 AM Christian Zigotzky > > <chzigot...@xenosoft.de> wrote: > >> On 06 June 2022 at 04:58 pm, Rob Herring wrote: > >>> On Fri, May 27, 2022 at 9:23 AM Rob Herring <r...@kernel.org> wrote: > >>>> On Fri, May 27, 2022 at 3:33 AM Christian Zigotzky > >>>> <chzigot...@xenosoft.de> wrote: > >>>>> On 27 May 2022 at 10:14 am, Prabhakar Mahadev Lad wrote: > >>>>>> Hi, > >>>>>> > >>>>>>> -----Original Message----- > >>>>>>> From: Christian Zigotzky <chzigot...@xenosoft.de> > >>>>>>> > >>>>>>> On 27 May 2022 at 09:56 am, Prabhakar Mahadev Lad wrote: > >>>>>>>> Hi, > >>>>>>>> > >>>>>>>>> -----Original Message----- > >>>>>>>>> From: Christophe Leroy <christophe.le...@csgroup.eu> > >>> [...] > >>> > >>>>>>>> Looks like the driver which you are using has not been converted to > >>>>>>>> use > >>>>>>> platform_get_irq(), could you please check that. > >>>>>>>> Cheers, > >>>>>>>> Prabhakar > >>>>>>> Do you mean the mouse and keyboard driver? > >>>>>>> > >>>>>> No it could be your gpio/pinctrl driver assuming the keyboard/mouse > >>>>>> are using GPIO's. If you are using interrupts then it might be some > >>>>>> hierarchal irqc driver in drivers/irqchip/. > >>>>>> > >>>>>> Cheers, > >>>>>> Prabhakar > >>>>> Good to know. I only use unmodified drivers from the official Linux > >>>>> kernel so it's not an issue of the Cyrus+ board. > >>>> 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; > >>> >From the log, I think you also need to add this line: > >>> > >>> pdev->dev.of_node_reused = true; > >>> > >>>> retval = platform_device_add(pdev); > >>>> if (retval) > >> Hello Rob, > >> > >> Thanks a lot for your answer. > >> > >> Is the following patch correct? > > Yes > > > >> --- a/drivers/usb/host/fsl-mph-dr-of.c 2022-05-28 09:10:26.797688422 > >> +0200 > >> +++ b/drivers/usb/host/fsl-mph-dr-of.c 2022-05-28 09:15:01.668594809 > >> +0200 > >> @@ -80,8 +80,6 @@ static struct platform_device *fsl_usb2_ > >> 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_ > >> 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; > >> + pdev->dev.of_node_reused = true; > >> > >> retval = platform_device_add(pdev); > >> if (retval) > >> > >> --- > >> > >> Thanks, > >> Christian > Hello Rob, > > I tested this patch today and unfortunately the issue still exists.
The log is the same? Rob