Message ID | 20210505084150.3862010-1-narmstrong@baylibre.com |
---|---|
State | Accepted |
Commit | 60e531fabfaa6b844fa263279f752e868e6d555c |
Delegated to: | Neil Armstrong |
Headers | show |
Series | usb: dwc3-meson-g12a: skip phy on -ENODATA aswell | expand |
On 5/5/21 10:41 AM, Neil Armstrong wrote: > If the PHY isn't specified in the DT, -ENODATA means it should be skipped, > handle it like -ENOENT. > > With that, devices without USB3 supported can have USB working (Odroid-HC4). Shouldn't you rather specify NOP PHY in the DT ?
On 05/05/2021 12:06, Marek Vasut wrote: > On 5/5/21 10:41 AM, Neil Armstrong wrote: >> If the PHY isn't specified in the DT, -ENODATA means it should be skipped, >> handle it like -ENOENT. >> >> With that, devices without USB3 supported can have USB working (Odroid-HC4). > > Shouldn't you rather specify NOP PHY in the DT ? Who NOP I would have no idea if the port is disabled or used. The PHY control is mixed between the actual PHY driver and the DWC3/DWC2 glue, so the bindings were designed to make some PHYs phandle optionals if unused. Neil
On 05/05/2021 10:41, Neil Armstrong wrote: > If the PHY isn't specified in the DT, -ENODATA means it should be skipped, > handle it like -ENOENT. > > With that, devices without USB3 supported can have USB working (Odroid-HC4). > > Fixes: adb049abf7 ("usb: dwc3: Add Meson G12A USB Glue") > Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> > --- > drivers/usb/dwc3/dwc3-meson-g12a.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/dwc3/dwc3-meson-g12a.c b/drivers/usb/dwc3/dwc3-meson-g12a.c > index bd8bf227c8..90418ddc1d 100644 > --- a/drivers/usb/dwc3/dwc3-meson-g12a.c > +++ b/drivers/usb/dwc3/dwc3-meson-g12a.c > @@ -298,7 +298,7 @@ static int dwc3_meson_g12a_get_phys(struct dwc3_meson_g12a *priv) > for (i = 0 ; i < PHY_COUNT ; ++i) { > ret = generic_phy_get_by_name(priv->dev, phy_names[i], > &priv->phys[i]); > - if (ret == -ENOENT) > + if (ret == -ENOENT || ret == -ENODATA) > continue; > > if (ret) > Applied to u-boot-amlogic Neil
diff --git a/drivers/usb/dwc3/dwc3-meson-g12a.c b/drivers/usb/dwc3/dwc3-meson-g12a.c index bd8bf227c8..90418ddc1d 100644 --- a/drivers/usb/dwc3/dwc3-meson-g12a.c +++ b/drivers/usb/dwc3/dwc3-meson-g12a.c @@ -298,7 +298,7 @@ static int dwc3_meson_g12a_get_phys(struct dwc3_meson_g12a *priv) for (i = 0 ; i < PHY_COUNT ; ++i) { ret = generic_phy_get_by_name(priv->dev, phy_names[i], &priv->phys[i]); - if (ret == -ENOENT) + if (ret == -ENOENT || ret == -ENODATA) continue; if (ret)
If the PHY isn't specified in the DT, -ENODATA means it should be skipped, handle it like -ENOENT. With that, devices without USB3 supported can have USB working (Odroid-HC4). Fixes: adb049abf7 ("usb: dwc3: Add Meson G12A USB Glue") Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> --- drivers/usb/dwc3/dwc3-meson-g12a.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)