mirror of https://gitee.com/openkylin/linux.git
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: Tuomas Tynkkynen <ttynkkynen@nvidia.com> Reviewed-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
185d0fd570
commit
de3f233703
|
@ -58,7 +58,6 @@ static int (*orig_hub_control)(struct usb_hcd *hcd,
|
|||
struct tegra_ehci_hcd {
|
||||
struct tegra_usb_phy *phy;
|
||||
struct clk *clk;
|
||||
struct usb_phy *transceiver;
|
||||
int port_resuming;
|
||||
bool needs_double_reset;
|
||||
enum tegra_usb_phy_port_speed port_speed;
|
||||
|
@ -436,26 +435,18 @@ static int tegra_ehci_probe(struct platform_device *pdev)
|
|||
goto cleanup_phy;
|
||||
}
|
||||
|
||||
if (pdata->operating_mode == TEGRA_USB_OTG) {
|
||||
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);
|
||||
}
|
||||
otg_set_host(u_phy->otg, &hcd->self);
|
||||
|
||||
err = usb_add_hcd(hcd, irq, IRQF_SHARED);
|
||||
if (err) {
|
||||
dev_err(&pdev->dev, "Failed to add USB HCD\n");
|
||||
goto cleanup_transceiver;
|
||||
goto cleanup_otg_set_host;
|
||||
}
|
||||
|
||||
return err;
|
||||
|
||||
cleanup_transceiver:
|
||||
if (!IS_ERR(tegra->transceiver))
|
||||
otg_set_host(tegra->transceiver->otg, NULL);
|
||||
cleanup_otg_set_host:
|
||||
otg_set_host(u_phy->otg, NULL);
|
||||
cleanup_phy:
|
||||
usb_phy_shutdown(hcd->phy);
|
||||
cleanup_clk_en:
|
||||
|
@ -473,8 +464,7 @@ static int tegra_ehci_remove(struct platform_device *pdev)
|
|||
struct tegra_ehci_hcd *tegra =
|
||||
(struct tegra_ehci_hcd *)hcd_to_ehci(hcd)->priv;
|
||||
|
||||
if (!IS_ERR(tegra->transceiver))
|
||||
otg_set_host(tegra->transceiver->otg, NULL);
|
||||
otg_set_host(hcd->phy->otg, NULL);
|
||||
|
||||
usb_phy_shutdown(hcd->phy);
|
||||
usb_remove_hcd(hcd);
|
||||
|
|
Loading…
Reference in New Issue