diff options
author | Sam Protsenko <semen.protsenko@linaro.org> | 2020-12-14 13:07:41 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-12-28 15:51:40 +0100 |
commit | cb4d9b52ec06acc6eafd82e53ca90a1368fee7e6 (patch) | |
tree | 57055f776d9c7b4016342258dcdc568c3ab3e388 /drivers/usb/dwc3/drd.c | |
parent | c824c73a5e08b9ebbf5e4a293336f61a4c7f67a2 (diff) |
usb: dwc3: drd: Improve dwc3_get_extcon() style
The previous change ("usb: dwc3: drd: Avoid error when extcon is
missing") changed the code flow in dwc3_get_extcon() function, leading
to unnecessary if-branch. This patch does housekeeping by reworking the
code for obtaining an extcon device from the "port" node.
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Link: https://lore.kernel.org/r/20201214110741.8512-3-semen.protsenko@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/dwc3/drd.c')
-rw-r--r-- | drivers/usb/dwc3/drd.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/drivers/usb/dwc3/drd.c b/drivers/usb/dwc3/drd.c index da428cf2eb5b..e2b68bb770d1 100644 --- a/drivers/usb/dwc3/drd.c +++ b/drivers/usb/dwc3/drd.c @@ -441,8 +441,8 @@ static int dwc3_drd_notifier(struct notifier_block *nb, static struct extcon_dev *dwc3_get_extcon(struct dwc3 *dwc) { struct device *dev = dwc->dev; - struct device_node *np_phy, *np_conn; - struct extcon_dev *edev; + struct device_node *np_phy; + struct extcon_dev *edev = NULL; const char *name; if (device_property_read_bool(dev, "extcon")) @@ -470,17 +470,14 @@ static struct extcon_dev *dwc3_get_extcon(struct dwc3 *dwc) * or OTG mode. */ np_phy = of_parse_phandle(dev->of_node, "phys", 0); - 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); - else - edev = NULL; + if (of_graph_is_present(np_phy)) { + struct device_node *np_conn; - of_node_put(np_conn); + np_conn = of_graph_get_remote_node(np_phy, -1, -1); + if (np_conn) + edev = extcon_find_edev_by_node(np_conn); + of_node_put(np_conn); + } of_node_put(np_phy); return edev; |