On 20-05-25 12:30:49, Jun Li wrote: > > > > -----Original Message----- > > From: Peter Chen <peter.chen@xxxxxxx> > > Sent: 2020年5月25日 11:04 > > To: Jun Li <jun.li@xxxxxxx> > > Cc: balbi@xxxxxxxxxx; mathias.nyman@xxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx; > > dl-linux-imx <linux-imx@xxxxxxx>; pawell@xxxxxxxxxxx; rogerq@xxxxxx; > > gregkh@xxxxxxxxxxxxxxxxxxx > > Subject: Re: [PATCH v2 7/9] usb: host: xhci-plat: add priv flag for > > skip_phy_initialization > > > > On 20-05-24 07:40:34, Jun Li wrote: > > > Hi > > > > > > > -----Original Message----- > > > > From: Peter Chen <peter.chen@xxxxxxx> > > > > Sent: 2020年5月24日 7:23 > > > > To: balbi@xxxxxxxxxx; mathias.nyman@xxxxxxxxx > > > > Cc: linux-usb@xxxxxxxxxxxxxxx; dl-linux-imx <linux-imx@xxxxxxx>; > > > > pawell@xxxxxxxxxxx; rogerq@xxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx; Jun > > > > Li <jun.li@xxxxxxx>; Peter Chen <peter.chen@xxxxxxx> > > > > Subject: [PATCH v2 7/9] usb: host: xhci-plat: add priv flag for > > > > skip_phy_initialization > > > > > > > > Some DRD controllers (eg, dwc3 & cdns3) have PHY management at their > > > > own driver to cover both device and host mode, so add one priv flag > > > > for such users to skip PHY management from HCD core. > > > > > > Can this flag be set directly in __cdns3_host_init()? > > > > No, since both HCD creation and usb_add_hcd invoking are at xhci_plat_probe, glue > > layer has no chance to change hcd flags. > > I see after patch[2/9], > > @@ -43,6 +45,11 @@ static int __cdns3_host_init(struct cdns3 *cdns) > goto err1; > } > > + /* Glue needs to access xHCI region register for Power management */ > + hcd = platform_get_drvdata(xhci); > + if (hcd) > + cdns->xhci_regs = hcd->regs; > + > > You already can access hcd directly. > At that time, usb_add_hcd was called, and the power was powered on if the skip flat was not set. -- Thanks, Peter Chen