@@ -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;
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. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- Changes in v4: - Moved the comment from patch 2/2 to 1/2 - Fixed typos in commit message Changes in v3: - Split patch into two patches: logic diff and style diff drivers/usb/dwc3/drd.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-)