usb: host: ohci-exynos: Convert to devm_of_phy_optional_get()
authorGeert Uytterhoeven <geert+renesas@glider.be>
Tue, 24 Jan 2023 18:37:28 +0000 (19:37 +0100)
committerVinod Koul <vkoul@kernel.org>
Fri, 3 Feb 2023 05:49:35 +0000 (11:19 +0530)
Use the new devm_of_phy_optional_get() helper instead of open-coding the
same operation.

As devm_of_phy_optional_get() returns NULL if either the PHY cannot be
found, or if support for the PHY framework is not enabled, it is no
longer needed to check for -ENODEV or -ENOSYS.

This lets us drop several checks for IS_ERR(), as phy_power_{on,off}()
handle NULL parameters fine.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/3adc5dd1149a17ea7daf4463549feab886c6b145.1674584626.git.geert+renesas@glider.be
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/usb/host/ohci-exynos.c

index 8d7977fd5d3bd502960b6cc81b9ad227a5389f1e..8af17c1ee5cc8f1ec54bcd548bc9c29f277f18ba 100644 (file)
@@ -69,19 +69,11 @@ static int exynos_ohci_get_phy(struct device *dev,
                        return -EINVAL;
                }
 
-               phy = devm_of_phy_get(dev, child, NULL);
+               phy = devm_of_phy_optional_get(dev, child, NULL);
                exynos_ohci->phy[phy_number] = phy;
                if (IS_ERR(phy)) {
-                       ret = PTR_ERR(phy);
-                       if (ret == -EPROBE_DEFER) {
-                               of_node_put(child);
-                               return ret;
-                       } else if (ret != -ENOSYS && ret != -ENODEV) {
-                               dev_err(dev,
-                                       "Error retrieving usb2 phy: %d\n", ret);
-                               of_node_put(child);
-                               return ret;
-                       }
+                       of_node_put(child);
+                       return PTR_ERR(phy);
                }
        }
 
@@ -97,12 +89,10 @@ static int exynos_ohci_phy_enable(struct device *dev)
        int ret = 0;
 
        for (i = 0; ret == 0 && i < PHY_NUMBER; i++)
-               if (!IS_ERR(exynos_ohci->phy[i]))
-                       ret = phy_power_on(exynos_ohci->phy[i]);
+               ret = phy_power_on(exynos_ohci->phy[i]);
        if (ret)
                for (i--; i >= 0; i--)
-                       if (!IS_ERR(exynos_ohci->phy[i]))
-                               phy_power_off(exynos_ohci->phy[i]);
+                       phy_power_off(exynos_ohci->phy[i]);
 
        return ret;
 }
@@ -114,8 +104,7 @@ static void exynos_ohci_phy_disable(struct device *dev)
        int i;
 
        for (i = 0; i < PHY_NUMBER; i++)
-               if (!IS_ERR(exynos_ohci->phy[i]))
-                       phy_power_off(exynos_ohci->phy[i]);
+               phy_power_off(exynos_ohci->phy[i]);
 }
 
 static int exynos_ohci_probe(struct platform_device *pdev)