Commit bc40f534 authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman
Browse files

USB: core: hcd: drop support for legacy phys



Drop support for looking up and initialising legacy phys in USB core,
something which hasn't been used by a mainline kernel since commit
9080b8dc ("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: default avatarJohan Hovold <johan@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 60b9f942
Loading
Loading
Loading
Loading
+3 −35
Original line number Diff line number Diff line
@@ -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;
}
+0 −1
Original line number Diff line number Diff line
@@ -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