usb: core: hcd: remove support for initializing a single PHY
authorMartin Blumenstingl <martin.blumenstingl@googlemail.com>
Sat, 3 Mar 2018 21:43:09 +0000 (22:43 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Mar 2018 17:43:53 +0000 (09:43 -0800)
With the new PHY wrapper in place we can now handle multiple PHYs.
Remove the code which handles only one generic PHY as this is now
covered (with support for multiple PHYs as well as suspend/resume
support) by the new PHY wrapper.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Tested-by: Neil Armstrong <narmstrong@baylibre.con>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/hcd.c
include/linux/usb/hcd.h

index 32797c25ac3b19dd9d1f56ffebda68364e7cd1af..5a92d8f7c48478d0cc9d4d04e54f57c535e36c83 100644 (file)
@@ -2757,30 +2757,6 @@ int usb_add_hcd(struct usb_hcd *hcd,
                }
        }
 
-       if (IS_ENABLED(CONFIG_GENERIC_PHY) && !hcd->skip_phy_initialization) {
-               struct phy *phy = phy_get(hcd->self.sysdev, "usb");
-
-               if (IS_ERR(phy)) {
-                       retval = PTR_ERR(phy);
-                       if (retval == -EPROBE_DEFER)
-                               goto err_phy;
-               } else {
-                       retval = phy_init(phy);
-                       if (retval) {
-                               phy_put(phy);
-                               goto err_phy;
-                       }
-                       retval = phy_power_on(phy);
-                       if (retval) {
-                               phy_exit(phy);
-                               phy_put(phy);
-                               goto err_phy;
-                       }
-                       hcd->phy = phy;
-                       hcd->remove_phy = 1;
-               }
-       }
-
        if (!hcd->skip_phy_initialization) {
                hcd->phy_roothub = usb_phy_roothub_init(hcd->self.sysdev);
                if (IS_ERR(hcd->phy_roothub)) {
@@ -2961,13 +2937,6 @@ err_create_buf:
 err_usb_phy_roothub_power_on:
        usb_phy_roothub_exit(hcd->phy_roothub);
 err_phy_roothub_init:
-       if (IS_ENABLED(CONFIG_GENERIC_PHY) && hcd->remove_phy && hcd->phy) {
-               phy_power_off(hcd->phy);
-               phy_exit(hcd->phy);
-               phy_put(hcd->phy);
-               hcd->phy = NULL;
-       }
-err_phy:
        if (hcd->remove_phy && hcd->usb_phy) {
                usb_phy_shutdown(hcd->usb_phy);
                usb_put_phy(hcd->usb_phy);
@@ -3048,12 +3017,6 @@ void usb_remove_hcd(struct usb_hcd *hcd)
        usb_phy_roothub_power_off(hcd->phy_roothub);
        usb_phy_roothub_exit(hcd->phy_roothub);
 
-       if (IS_ENABLED(CONFIG_GENERIC_PHY) && hcd->remove_phy && hcd->phy) {
-               phy_power_off(hcd->phy);
-               phy_exit(hcd->phy);
-               phy_put(hcd->phy);
-               hcd->phy = NULL;
-       }
        if (hcd->remove_phy && hcd->usb_phy) {
                usb_phy_shutdown(hcd->usb_phy);
                usb_put_phy(hcd->usb_phy);
index a042675e03ba42db48f5fa56dc5c5a541c8ea6b9..aef50cb2ed1bde032968d80da6b978f373df6ed0 100644 (file)
@@ -103,7 +103,6 @@ struct usb_hcd {
         * other external phys should be software-transparent
         */
        struct usb_phy          *usb_phy;
-       struct phy              *phy;
        struct usb_phy_roothub  *phy_roothub;
 
        /* Flags that need to be manipulated atomically because they can