OSDN Git Service

usb: dwc3: drd: Improve dwc3_get_extcon() style
authorSam Protsenko <semen.protsenko@linaro.org>
Mon, 14 Dec 2020 11:07:41 +0000 (13:07 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 28 Dec 2020 14:51:40 +0000 (15:51 +0100)
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>
drivers/usb/dwc3/drd.c

index da428cf..e2b68bb 100644 (file)
@@ -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;