summaryrefslogtreecommitdiff
path: root/drivers/usb/host
diff options
context:
space:
mode:
authorArtiste Hsu <chhsu@nvidia.com>2011-11-09 12:40:49 +0800
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:50:12 -0800
commit760c58bf5cd0d0e4a1c2ec889e91baa9d3922a05 (patch)
tree294d468d4fc4441f27c9d04e287c31f87e8175c7 /drivers/usb/host
parent704faef69204a8a92e6fbc2d6d54ca7869aace77 (diff)
usb: host: tegra: configure hotplug in usb phy driver
Properly configure USB_PORTSC1_WKCN and USB_PHY_CLK_VALID_INT_ENB to avoid unexpected irq. Bug 888035 Bug 902149 Reviewed on http://git-master/r/#change,63176 Change-Id: I098adbb68c93d758777c10282ab8958b0ab71be6 Reviewed-on: http://git-master/r/65049 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: R951345ce7f91a79361911872cfbf297e1ecd2e7f
Diffstat (limited to 'drivers/usb/host')
-rw-r--r--drivers/usb/host/ehci-tegra.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c
index d0a45f0f917f..ac13286bfe3c 100644
--- a/drivers/usb/host/ehci-tegra.c
+++ b/drivers/usb/host/ehci-tegra.c
@@ -64,7 +64,6 @@ struct tegra_ehci_hcd {
int bus_suspended;
int port_resuming;
int power_down_on_bus_suspend;
- int hotplug;
struct delayed_work work;
enum tegra_usb_phy_port_speed port_speed;
struct work_struct clk_timer_work;
@@ -178,7 +177,7 @@ static irqreturn_t tegra_ehci_irq (struct usb_hcd *hcd)
spin_unlock (&ehci->lock);
}
}
- if (tegra->hotplug) {
+ if (tegra->phy->hotplug) {
spin_lock(&ehci->lock);
val = readl(hcd->regs + TEGRA_USB_SUSP_CTRL_OFFSET);
if ((val & TEGRA_USB_PHY_CLK_VALID_INT_STS)) {
@@ -1154,6 +1153,7 @@ static int tegra_ehci_probe(struct platform_device *pdev)
err = -ENXIO;
goto fail_phy;
}
+ tegra->phy->hotplug = pdata->hotplug;
err = tegra_usb_phy_power_on(tegra->phy, true);
if (err) {
@@ -1163,7 +1163,6 @@ static int tegra_ehci_probe(struct platform_device *pdev)
tegra->host_resumed = 1;
tegra->power_down_on_bus_suspend = pdata->power_down_on_bus_suspend;
- tegra->hotplug = pdata->hotplug;
tegra->ehci = hcd_to_ehci(hcd);
irq = platform_get_irq(pdev, 0);