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