Hi Frieder, On Mon, Sep 20, 2021 at 11:26 AM Frieder Schrempf <frieder.schrempf@xxxxxxxxxx> wrote: > Commit ed5a419bb019 ("usb: chipidea: imx: "fsl,usbphy" phandle is not > mandatory now") explains, that the core driver already covers reading > the "phys" property (see ci_hdrc_probe()): > > Since the chipidea common code support get the USB PHY phandle from > "phys", the glue layer is not mandatory to get the "fsl,usbphy" > phandle any more. > > This seems to be the reason why ci_hdrc_imx_probe() doesn't return any > error in case "fsl,usbphy" is not set. It expects that the core will > handle data->phy = NULL and already checks for a "phys" property. chipidea core populates ci->usb_phy when phys is used. The charger detection function only checks data->usb_phy, so they don't see ci->usb_phy that was populated by the chipidea core. We could change the signature of all charger detection functions to receive struct ci_hdrc *ci, but that will be a huge patch that will probably not meet the stable requirements, so I think to minimally fix stable we should go with the proposed fix I suggested. > > Therefore I'm not sure Fabio's fix is the right way to go. Could it be > that the ci_hdrc_imx driver expects that it will be probed before the > ci_hdrc core and this isn't true in Heiko's case?