Hi, On Thu, 2019-02-21 at 09:30 +0000, Peter Chen wrote: > > > > Current code w/o your patch, it is possible both ci->phy and > > > ci->usb_phy are valid if the USB PHY is not at the device tree, but generic PHY is > > at the device tree. > > > If you don't want to fix this issue with this patch, it is ok too. We could fix it later. > > > > I'm not sure I understand the issue. With my patch, if there is a generic PHY > > described in device-tree, then devm_usb_get_phy_by_phandle for legacy PHY will > > fail and the code will fallback to devm_usb_get_phy, which is the same behavior as > > before. > > > > You are right, but this behavior is incorrect since each controller has only one physical > USB PHY. > > > Is it a problem that we can end up with both a generic and legacy PHY? > > I thought this was expected behavior at probe, and the rest of the code will just use > > the generic one in priority. > > > > Do you want to make it so that only one (generic or legacy) PHY remains after > > probe? > > > > Yes, I just want only one valid, either ci->phy or ci->usb_phy, it makes sense. Sounds good to me. I'll send out v4 with this patch and an extra one to refactor the PHY selection path and only attempt to get a single PHY. Cheers, Paul -- Paul Kocialkowski, Bootlin Embedded Linux and kernel engineering https://bootlin.com