RE: [PATCH] usb: gadget: udc: renesas_usb3: Fix RZ/V2M {modprobe,bind} error
From: Biju Das
Date: Tue May 30 2023 - 09:47:44 EST
Hi Geert,
Thanks for the feedback.
> -----Original Message-----
> From: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> Sent: Tuesday, May 30, 2023 2:17 PM
> To: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>
> Cc: Marc Zyngier <maz@xxxxxxxxxx>; Laurent Pinchart
> <laurent.pinchart@xxxxxxxxxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx; Greg
> Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>; Zheng Wang
> <zyytlz.wz@xxxxxxx>; Geert Uytterhoeven <geert+renesas@xxxxxxxxx>;
> Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>; Wolfram Sang
> <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>; Krzysztof Kozlowski
> <krzysztof.kozlowski@xxxxxxxxxx>; linux-usb@xxxxxxxxxxxxxxx; Prabhakar
> Mahadev Lad <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>; linux-renesas-
> soc@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH] usb: gadget: udc: renesas_usb3: Fix RZ/V2M
> {modprobe,bind} error
>
> Hi Biju,
>
> On Tue, May 30, 2023 at 2:37 PM Biju Das <biju.das.jz@xxxxxxxxxxxxxx>
> wrote:
> > > Subject: Re: [PATCH] usb: gadget: udc: renesas_usb3: Fix RZ/V2M
> > > {modprobe,bind} error
> > >
> > > On Mon, 29 May 2023 09:56:56 +0100,
> > > Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> wrote:
> > > >
> > > > The name is just informative so I suppose it's ok. It makes me
> > > > wonder, though, if the usb3drd driver shouldn't register the
> > > > interrupt handler itself.
> > >
> > > Well, it registers it itself, but pretending to be another device.
> > > Which is wrong on many levels.
> >
> > OK, Will register the handler in usb3drd driver and expose
> > register/unregister handler API with cb function to avoid duplication
> of the code with renesas_usb3 driver.
> >
> > Basically, there will be 2 exported functions + 1 spinlock introduced
> > in usb3drd driver
> >
> > USB3DRD driver register the IRQ handler
> >
> > Probe/remove from renesas_usb3 driver register/unregister the cb
> > function. Whenever there is drd irq cb function will be called.
>
> Please don't make it more complicated: if the parent device does not use
> that interrupt, there is no need to move its handling to the parent
> device driver.
>
> Your patch looks fine to me, just replace the second ddata->dev, too.
Agreed, will replace "dev_name(ddata->dev)"->dev_name(&pdev->dev).
With Interrupt ID "274" vs "278", we can differentiate "drd" vs "peri" interrupt.
root@rzv2m:~# cat /proc/interrupts | grep usb
22: 0 GICv2 274 Level 85070000.usb3peri
28: 0 GICv2 278 Level 85070000.usb3peri
Cheers,
Biju