Message ID | 20201211211916.6259-2-semen.protsenko@linaro.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | usb: dwc3: drd: Check graph presence for extcon | expand |
On Sun, Dec 13, 2020 at 5:22 AM Sam Protsenko <semen.protsenko@linaro.org> 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@gmail.com> > Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> > Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > 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 >
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);
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 "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 before calling of_graph_get_remote_node(). Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- 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(-)