On Mon, Jun 28, 2021 at 05:53:07PM +0200, Michael Grzeschik wrote: > In case of dwc3 it is possible that the sysdev is the parent of the > controller. To ensure the right dev is set to the gadget's dev parent we > will hand over sysdev instead of dev, which will always point to the > controller. > > Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> > > --- > -> v2: first version of patch > -> v3: - > --- > drivers/usb/dwc3/gadget.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c > index af6d7f157989d..8a1b1daff2e97 100644 > --- a/drivers/usb/dwc3/gadget.c > +++ b/drivers/usb/dwc3/gadget.c > @@ -3990,7 +3990,7 @@ int dwc3_gadget_init(struct dwc3 *dwc) > } > > > - usb_initialize_gadget(dwc->dev, dwc->gadget, dwc_gadget_release); > + usb_initialize_gadget(dwc->sysdev, dwc->gadget, dwc_gadget_release); Does this change how the device shows up in sysfs? Why does the parent not always work properly here? thanks, greg k-h