]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
phy: Return success from generic_setup_phy() when phy is not found
authorJonas Karlman <jonas@kwiboo.se>
Thu, 31 Aug 2023 23:07:10 +0000 (23:07 +0000)
committerTom Rini <trini@konsulko.com>
Wed, 13 Sep 2023 19:52:21 +0000 (15:52 -0400)
Restore the old behavior of ehci_setup_phy() and ohci_setup_phy() to
return success when generic_phy_get_by_index() return -ENOENT.

Fixes: 84e561407a5f ("phy: Add generic_{setup,shutdown}_phy() helpers")
Fixes: 10005004db73 ("usb: ohci: Make usage of generic_{setup,shutdown}_phy() helpers")
Fixes: 083f8aa978a8 ("usb: ehci: Make usage of generic_{setup,shutdown}_phy() helpers")
Fixes: 75341e9c16aa ("usb: ehci: Remove unused ehci_{setup,shutdown}_phy() helpers")
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
drivers/phy/phy-uclass.c
test/dm/phy.c

index d745e7babc12f10e87e4d6b638cac2e50bdd2f2a..343c23cead0ce84c854e66ca5ed4ae2602d7e38a 100644 (file)
@@ -517,8 +517,8 @@ int generic_setup_phy(struct udevice *dev, struct phy *phy, int index)
 
        ret = generic_phy_get_by_index(dev, index, phy);
        if (ret) {
-               if (ret != -ENOENT)
-                       return ret;
+               if (ret == -ENOENT)
+                       return 0;
        } else {
                ret = generic_phy_init(phy);
                if (ret)
index 4da4841f40f79e3d8ca6eecf5ffb7a890dbbd805..4f91abca3a021783c13d75ae1c1c99c71389977d 100644 (file)
@@ -255,6 +255,11 @@ static int dm_test_phy_setup(struct unit_test_state *uts)
        ut_asserteq(-EIO, generic_setup_phy(parent, &phy, 2));
        ut_assertok(generic_shutdown_phy(&phy));
 
+       /* generic_phy_get_by_index fail with -ENOENT */
+       ut_asserteq(-ENOENT, generic_phy_get_by_index(parent, 3, &phy));
+       ut_assertok(generic_setup_phy(parent, &phy, 3));
+       ut_assertok(generic_shutdown_phy(&phy));
+
        return 0;
 }
 DM_TEST(dm_test_phy_setup, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);