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> > >> Sent: 27 May 2022 09:06 > >> To: Prabhakar Mahadev Lad <prabhakar.mahadev-lad...@bp.renesas.com>; > >> Christophe Leroy <christophe.le...@csgroup.eu>; Rob Herring > >> <r...@kernel.org> > >> Cc: Darren Stevens <dar...@stevens-zone.net>; linuxppc-dev <linuxppc- > >> d...@lists.ozlabs.org>; mad skateman <madskate...@gmail.com>; R.T.Dickinson > >> <r...@xtra.co.nz>; Christian Zigotzky <i...@xenosoft.de> > >> Subject: [FSL P50x0] Keyboard and mouse don't work anymore after the > >> devicetree updates for 5.19 > >> > >> On 27 May 2022 at 09:56 am, Prabhakar Mahadev Lad wrote: > >>> Hi, > >>> > >>>> -----Original Message----- > >>>> From: Christophe Leroy <christophe.le...@csgroup.eu> > >>>> Sent: 27 May 2022 08:23 > >>>> To: Christian Zigotzky <chzigot...@xenosoft.de>; > >>>> rob.herr...@calxeda.com; Prabhakar Mahadev Lad > >>>> <prabhakar.mahadev-lad...@bp.renesas.com> > >>>> Cc: Darren Stevens <dar...@stevens-zone.net>; linuxppc-dev <linuxppc- > >>>> d...@lists.ozlabs.org>; mad skateman <madskate...@gmail.com>; > >>>> R.T.Dickinson <r...@xtra.co.nz>; Christian Zigotzky > >>>> <i...@xenosoft.de> > >>>> Subject: Re: [FSL P50x0] Keyboard and mouse don't work anymore after > >>>> the devicetree updates for 5.19 > >>>> > >>>> Hi > >>>> > >>>> Le 26/05/2022 à 19:42, Christian Zigotzky a écrit : > >>>>> Hello, > >>>>> > >>>>> My keyboard and mouse don't work anymore with my Cyrus+ board with a > >>>>> FSL > >>>>> P50x0 PowerPC SoC [1] after the devicetree updates for 5.19 [2]. > >>>>> After reverting the devicetree updates, my keyboard and mouse work > >>>>> without any problems. > >>>>> I figured out that the issue is in the patch for the file platform.c > >>>>> [3]. I created a patch for reverting the problematic code. (see > >>>>> attachment) > >>>>> After reverting the changes with the attached patch, the keyboard > >>>>> and mouse work again. > >>>>> Please check your changes in the file platform.c [3]. > >>>>> > >>>>> Thanks, > >>>>> Christian > >>>>> > >>>>> [1] > >>>>> https://jpn01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwiki. > >>>>> amiga.org%2Findex.php%3Ftitle%3DX5000&data=05%7C01%7Cprabhakar.m > >>>>> ah > >>>>> adev-lad.rj%40bp.renesas.com%7C4e9c08d1e3874a34bd4208da3fb1c007%7C53 > >>>>> d8 > >>>>> 2571da1947e49cb4625a166a4a2a%7C0%7C0%7C637892329912063922%7CUnknown% > >>>>> 7C > >>>>> TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJX > >>>>> VC > >>>>> I6Mn0%3D%7C3000%7C%7C%7C&sdata=fSABvBDi%2FYlqU1eydQB6%2F4BzxXkqR > >>>>> M0 > >>>>> Ln9hdInyTp6w%3D&reserved=0 > >>>>> [2] > >>>>> https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit. > >>>>> kernel.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git > >>>>> %2 > >>>>> Fcommit%2F%3Fid%3D86c87bea6b42100c67418af690919c44de6ede6e&data= > >>>>> 05 > >>>>> %7C01%7Cprabhakar.mahadev-lad.rj%40bp.renesas.com%7C4e9c08d1e3874a34 > >>>>> bd > >>>>> 4208da3fb1c007%7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C63789232 > >>>>> 99 > >>>>> 12063922%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzI > >>>>> iL > >>>>> CJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ENkjlza0J7xF > >>>>> iI > >>>>> aPUwMBxHBIkXJNkT%2BLTZ3xuPz%2B10Q%3D&reserved=0 > >>>>> > >>>>> [3] > >>>>> https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit. > >>>>> kernel.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git > >>>>> %2 > >>>>> Fdiff%2Fdrivers%2Fof%2Fplatform.c%3Fid%3D86c87bea6b42100c67418af6909 > >>>>> 19 > >>>>> c44de6ede6e&data=05%7C01%7Cprabhakar.mahadev-lad.rj%40bp.renesas > >>>>> .c > >>>>> om%7C4e9c08d1e3874a34bd4208da3fb1c007%7C53d82571da1947e49cb4625a166a > >>>>> 4a > >>>>> 2a%7C0%7C0%7C637892329912063922%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4w > >>>>> Lj > >>>>> AwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C > >>>>> &a > >>>>> mp;sdata=yEJUK%2BGK2dzWARC5rfhsSSFSwD%2BLZm8aNNHqQhPYP7Y%3D&rese > >>>>> rv > >>>>> ed=0 > >>>> Based on your patch I would say the culprit commit is > >>>> https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit > >>>> hub.c%2F&data=05%7C01%7Cprabhakar.mahadev-lad.rj%40bp.renesas.com > >>>> %7Cbf899ff2084643971c7908da3fb7d4b9%7C53d82571da1947e49cb4625a166a4a2 > >>>> a%7C0%7C1%7C637892356025845542%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLj > >>>> AwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000%7C%7C%7C& > >>>> amp;sdata=%2FzI4yueF6Pc%2Fpvh7Ax9WilnaYX8ozFTRyQpiVaaacbg%3D&rese > >>>> rved=0 > >>>> om%2Ftorvalds%2Flinux%2Fcommit%2Fa1a2b7125e1079cfcc13a116aa3af3df2f9e > >>>> 002b& > >>>> amp;data=05%7C01%7Cprabhakar.mahadev- > >>>> lad.rj%40bp.renesas.com%7C4e9c08d1e3874a34bd4208da3fb1c007%7C53d82571 > >>>> da194 > >>>> 7e49cb4625a166a4a2a%7C0%7C0%7C637892329912063922%7CUnknown%7CTWFpbGZs > >>>> b3d8e > >>>> yJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3 > >>>> 000%7 > >>>> C%7C%7C&sdata=ONR1CiaSID6q4%2Fo%2BI6MlPA4ij89BJphQRpEu5tQxvYQ%3D& > >>>> amp;r > >>>> eserved=0 > >>>> > >>>> commit a1a2b7125e1079cfcc13a116aa3af3df2f9e002b > >>>> Author: Lad Prabhakar <prabhakar.mahadev-lad...@bp.renesas.com> > >>>> Date: Wed Mar 16 20:06:33 2022 +0000 > >>>> > >>>> of/platform: Drop static setup of IRQ resource from DT core > >>>> > >>>> Now that all the DT drivers have switched to platform_get_irq() > >>>> we can now > >>>> safely drop the static setup of IRQ resource from DT core code. > >>>> > >>>> With the above change hierarchical setup of irq domains is no > >> longer > >>>> bypassed and thus allowing hierarchical interrupt domains to > >> describe > >>>> interrupts using "interrupts" DT property. > >>>> > >>>> Signed-off-by: Lad Prabhakar <prabhakar.mahadev- > >>>> lad...@bp.renesas.com> > >>>> Acked-by: Marc Zyngier <m...@kernel.org> > >>>> Tested-by: Marc Zyngier <m...@kernel.org> > >>>> Signed-off-by: Rob Herring <r...@kernel.org> > >>>> Link: > >>>> https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flor > >>>> e.ker%2F&data=05%7C01%7Cprabhakar.mahadev-lad.rj%40bp.renesas.com > >>>> %7Cbf899ff2084643971c7908da3fb7d4b9%7C53d82571da1947e49cb4625a166a4a2 > >>>> a%7C0%7C1%7C637892356025845542%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLj > >>>> AwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000%7C%7C%7C& > >>>> amp;sdata=R%2FhdNkjna6kT31Fy9L3HjrDscWR743O%2BAY8sITu9pVE%3D&rese > >>>> rved=0 > >>>> nel.org%2Fr%2F20220316200633.28974-1-prabhakar.mahadev- > >>>> lad.rj%40bp.renesas.com&data=05%7C01%7Cprabhakar.mahadev- > >>>> lad.rj%40bp.renesas.com%7C4e9c08d1e3874a34bd4208da3fb1c007%7C53d82571 > >>>> da194 > >>>> 7e49cb4625a166a4a2a%7C0%7C0%7C637892329912063922%7CUnknown%7CTWFpbGZs > >>>> b3d8e > >>>> yJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3 > >>>> 000%7 > >>>> C%7C%7C&sdata=ri76vfLpmxe7vFDAlsBjyrSSkuTMz0ydftu3XObLGLA%3D& > >>>> reser > >>>> ved=0 > >>>> > >>> 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; retval = platform_device_add(pdev); if (retval)