diff options
author | Artiste Hsu <chhsu@nvidia.com> | 2011-11-09 12:40:49 +0800 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:50:12 -0800 |
commit | 760c58bf5cd0d0e4a1c2ec889e91baa9d3922a05 (patch) | |
tree | 294d468d4fc4441f27c9d04e287c31f87e8175c7 /drivers/usb/host | |
parent | 704faef69204a8a92e6fbc2d6d54ca7869aace77 (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.c | 5 |
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); |