On Sun, Dec 13, 2020 at 5:22 AM Sam Protsenko <semen.protsenko@xxxxxxxxxx> wrote: > > If "port" node is missing in PHY controller node, dwc3_get_extcon() > isn't able to find extcon device. This is perfectly fine in case when devices > "usb-role-switch" or OTG is used, but next misleading error message is > printed in that case, from of_graph_get_remote_node(): > > OF: graph: no port node found in /phy@1234abcd > > Avoid printing that message by checking if port node exists in PHY node if the port > before calling of_graph_get_remote_node(). Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > Signed-off-by: Sam Protsenko <semen.protsenko@xxxxxxxxxx> > Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > --- > Changes in v3: > - Split patch into two patches: logic diff and style diff > > drivers/usb/dwc3/drd.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/dwc3/drd.c b/drivers/usb/dwc3/drd.c > index 3e1c1aacf002..312a4d060e80 100644 > --- a/drivers/usb/dwc3/drd.c > +++ b/drivers/usb/dwc3/drd.c > @@ -463,7 +463,10 @@ static struct extcon_dev *dwc3_get_extcon(struct dwc3 *dwc) > } > > np_phy = of_parse_phandle(dev->of_node, "phys", 0); > - np_conn = of_graph_get_remote_node(np_phy, -1, -1); > + if (of_graph_is_present(np_phy)) > + np_conn = of_graph_get_remote_node(np_phy, -1, -1); > + else > + np_conn = NULL; > > if (np_conn) > edev = extcon_find_edev_by_node(np_conn); > -- > 2.29.2 > -- With Best Regards, Andy Shevchenko