USB: core: hcd: drop support for legacy phys
authorJohan Hovold <johan@kernel.org>
Wed, 18 Apr 2018 09:26:20 +0000 (11:26 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 22 Apr 2018 13:58:23 +0000 (15:58 +0200)
Drop support for looking up and initialising legacy phys in USB core,
something which hasn't been used by a mainline kernel since commit
9080b8dc761a ("ARM: OMAP2+: Remove legacy usb-host.c platform init
code"). Specifically, since that commit usb_get_phy_dev() have always
returned -ENODEV and consequently this code has not been used.

Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/hcd.c
include/linux/usb/hcd.h

index 777036a..6241d32 100644 (file)
@@ -33,7 +33,6 @@
 #include <linux/phy/phy.h>
 #include <linux/usb.h>
 #include <linux/usb/hcd.h>
-#include <linux/usb/phy.h>
 #include <linux/usb/otg.h>
 
 #include "usb.h"
@@ -2739,30 +2738,10 @@ int usb_add_hcd(struct usb_hcd *hcd,
        int retval;
        struct usb_device *rhdev;
 
-       if (IS_ENABLED(CONFIG_USB_PHY) && !hcd->skip_phy_initialization) {
-               struct usb_phy *phy = usb_get_phy_dev(hcd->self.sysdev, 0);
-
-               if (IS_ERR(phy)) {
-                       retval = PTR_ERR(phy);
-                       if (retval == -EPROBE_DEFER)
-                               return retval;
-               } else {
-                       retval = usb_phy_init(phy);
-                       if (retval) {
-                               usb_put_phy(phy);
-                               return retval;
-                       }
-                       hcd->usb_phy = phy;
-                       hcd->remove_phy = 1;
-               }
-       }
-
        if (!hcd->skip_phy_initialization && usb_hcd_is_primary_hcd(hcd)) {
                hcd->phy_roothub = usb_phy_roothub_init(hcd->self.sysdev);
-               if (IS_ERR(hcd->phy_roothub)) {
-                       retval = PTR_ERR(hcd->phy_roothub);
-                       goto err_phy_roothub_init;
-               }
+               if (IS_ERR(hcd->phy_roothub))
+                       return PTR_ERR(hcd->phy_roothub);
 
                retval = usb_phy_roothub_power_on(hcd->phy_roothub);
                if (retval)
@@ -2936,12 +2915,7 @@ err_create_buf:
        usb_phy_roothub_power_off(hcd->phy_roothub);
 err_usb_phy_roothub_power_on:
        usb_phy_roothub_exit(hcd->phy_roothub);
-err_phy_roothub_init:
-       if (hcd->remove_phy && hcd->usb_phy) {
-               usb_phy_shutdown(hcd->usb_phy);
-               usb_put_phy(hcd->usb_phy);
-               hcd->usb_phy = NULL;
-       }
+
        return retval;
 }
 EXPORT_SYMBOL_GPL(usb_add_hcd);
@@ -3017,12 +2991,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 (hcd->remove_phy && hcd->usb_phy) {
-               usb_phy_shutdown(hcd->usb_phy);
-               usb_put_phy(hcd->usb_phy);
-               hcd->usb_phy = NULL;
-       }
-
        usb_put_invalidate_rhdev(hcd);
        hcd->flags = 0;
 }
index aef50cb..e33009c 100644 (file)
@@ -150,7 +150,6 @@ struct usb_hcd {
        unsigned                rh_pollable:1;  /* may we poll the root hub? */
        unsigned                msix_enabled:1; /* driver has MSI-X enabled? */
        unsigned                msi_enabled:1;  /* driver has MSI enabled? */
-       unsigned                remove_phy:1;   /* auto-remove USB phy */
        /*
         * do not manage the PHY state in the HCD core, instead let the driver
         * handle this (for example if the PHY can only be turned on after a