usb: phy: tegra: Use generic stub for a missing VBUS regulator
authorDmitry Osipenko <digetx@gmail.com>
Mon, 6 Jan 2020 01:34:05 +0000 (04:34 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jan 2020 10:15:32 +0000 (11:15 +0100)
Regulator core provides dummy regulator if device-tree doesn't define VBUS
regulator.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Link: https://lore.kernel.org/r/20200106013416.9604-10-digetx@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/phy/phy-tegra-usb.c

index 268b9d9..5b9f031 100644 (file)
@@ -836,9 +836,7 @@ static void tegra_usb_phy_shutdown(struct usb_phy *u_phy)
        if (!phy->is_ulpi_phy)
                utmip_pad_close(phy);
 
-       if (!IS_ERR(phy->vbus))
-               regulator_disable(phy->vbus);
-
+       regulator_disable(phy->vbus);
        clk_disable_unprepare(phy->pll_u);
 
        phy->freq = NULL;
@@ -900,14 +898,11 @@ static int tegra_usb_phy_init(struct usb_phy *u_phy)
                goto fail;
        }
 
-       if (!IS_ERR(phy->vbus)) {
-               err = regulator_enable(phy->vbus);
-               if (err) {
-                       dev_err(phy->u_phy.dev,
-                               "Failed to enable USB VBUS regulator: %d\n",
-                               err);
-                       goto fail;
-               }
+       err = regulator_enable(phy->vbus);
+       if (err) {
+               dev_err(phy->u_phy.dev,
+                       "Failed to enable USB VBUS regulator: %d\n", err);
+               goto fail;
        }
 
        if (phy->is_ulpi_phy)
@@ -1140,14 +1135,9 @@ static int tegra_usb_phy_probe(struct platform_device *pdev)
        }
 
        /* On some boards, the VBUS regulator doesn't need to be controlled */
-       if (of_find_property(np, "vbus-supply", NULL)) {
-               tegra_phy->vbus = devm_regulator_get(&pdev->dev, "vbus");
-               if (IS_ERR(tegra_phy->vbus))
-                       return PTR_ERR(tegra_phy->vbus);
-       } else {
-               dev_notice(&pdev->dev, "no vbus regulator");
-               tegra_phy->vbus = ERR_PTR(-ENODEV);
-       }
+       tegra_phy->vbus = devm_regulator_get(&pdev->dev, "vbus");
+       if (IS_ERR(tegra_phy->vbus))
+               return PTR_ERR(tegra_phy->vbus);
 
        tegra_phy->pll_u = devm_clk_get(&pdev->dev, "pll_u");
        err = PTR_ERR_OR_ZERO(tegra_phy->pll_u);