Commit de3f2337 authored by Tuomas Tynkkynen's avatar Tuomas Tynkkynen Committed by Felipe Balbi

usb: host: tegra: Remove leftover code

ehci-tegra calls devm_usb_get_phy, which will never succeed since the Tegra
PHY does not register itself with the PHY subsystem. It is also completely
redundant since the code has already located a PHY via an internal API.

Call otg_set_host unconditionally to simplify the code since it should
be safe to do so.
Signed-off-by: default avatarTuomas Tynkkynen <ttynkkynen@nvidia.com>
Reviewed-by: default avatarStephen Warren <swarren@nvidia.com>
Tested-by: default avatarStephen Warren <swarren@nvidia.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 185d0fd5
...@@ -58,7 +58,6 @@ static int (*orig_hub_control)(struct usb_hcd *hcd, ...@@ -58,7 +58,6 @@ static int (*orig_hub_control)(struct usb_hcd *hcd,
struct tegra_ehci_hcd { struct tegra_ehci_hcd {
struct tegra_usb_phy *phy; struct tegra_usb_phy *phy;
struct clk *clk; struct clk *clk;
struct usb_phy *transceiver;
int port_resuming; int port_resuming;
bool needs_double_reset; bool needs_double_reset;
enum tegra_usb_phy_port_speed port_speed; enum tegra_usb_phy_port_speed port_speed;
...@@ -436,26 +435,18 @@ static int tegra_ehci_probe(struct platform_device *pdev) ...@@ -436,26 +435,18 @@ static int tegra_ehci_probe(struct platform_device *pdev)
goto cleanup_phy; goto cleanup_phy;
} }
if (pdata->operating_mode == TEGRA_USB_OTG) { otg_set_host(u_phy->otg, &hcd->self);
tegra->transceiver =
devm_usb_get_phy(&pdev->dev, USB_PHY_TYPE_USB2);
if (!IS_ERR(tegra->transceiver))
otg_set_host(tegra->transceiver->otg, &hcd->self);
} else {
tegra->transceiver = ERR_PTR(-ENODEV);
}
err = usb_add_hcd(hcd, irq, IRQF_SHARED); err = usb_add_hcd(hcd, irq, IRQF_SHARED);
if (err) { if (err) {
dev_err(&pdev->dev, "Failed to add USB HCD\n"); dev_err(&pdev->dev, "Failed to add USB HCD\n");
goto cleanup_transceiver; goto cleanup_otg_set_host;
} }
return err; return err;
cleanup_transceiver: cleanup_otg_set_host:
if (!IS_ERR(tegra->transceiver)) otg_set_host(u_phy->otg, NULL);
otg_set_host(tegra->transceiver->otg, NULL);
cleanup_phy: cleanup_phy:
usb_phy_shutdown(hcd->phy); usb_phy_shutdown(hcd->phy);
cleanup_clk_en: cleanup_clk_en:
...@@ -473,8 +464,7 @@ static int tegra_ehci_remove(struct platform_device *pdev) ...@@ -473,8 +464,7 @@ static int tegra_ehci_remove(struct platform_device *pdev)
struct tegra_ehci_hcd *tegra = struct tegra_ehci_hcd *tegra =
(struct tegra_ehci_hcd *)hcd_to_ehci(hcd)->priv; (struct tegra_ehci_hcd *)hcd_to_ehci(hcd)->priv;
if (!IS_ERR(tegra->transceiver)) otg_set_host(hcd->phy->otg, NULL);
otg_set_host(tegra->transceiver->otg, NULL);
usb_phy_shutdown(hcd->phy); usb_phy_shutdown(hcd->phy);
usb_remove_hcd(hcd); usb_remove_hcd(hcd);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment