diff options
author | Suresh Mangipudi <smangipudi@nvidia.com> | 2011-09-14 14:33:45 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:49:02 -0800 |
commit | 55266fc89cef1d2b2272c2101b3073ed29f979a7 (patch) | |
tree | 08c1827345943a4e451d47cc37d9498e25edb8a4 /drivers/usb | |
parent | 916bb3141f5c1a18efcfc6ca3afaeb5b5d2a3d48 (diff) |
usb: ehci: tegra: Hotplug detection
Removed the polling/PMC based method for the usb hotplug detection.
Bug 865094
Reviewed-on: http://git-master/r/52284
(cherry picked from commit fcded668224e1ea37ff8b239b32867afcd4081b0)
Change-Id: I8be9890d88f34af465f5e14a708443641b491ba3
Reviewed-on: http://git-master/r/54649
Reviewed-by: Rakesh Bodla <rbodla@nvidia.com>
Tested-by: Rakesh Bodla <rbodla@nvidia.com>
Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
Rebase-Id: R630abc14f6ffdd2f3ddfeff54ce734ec71eb569f
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/host/ehci-tegra.c | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c index d6b296de6c6c..6b6bca5b2cd8 100644 --- a/drivers/usb/host/ehci-tegra.c +++ b/drivers/usb/host/ehci-tegra.c @@ -68,7 +68,6 @@ struct tegra_ehci_hcd { enum tegra_usb_phy_port_speed port_speed; struct work_struct clk_timer_work; struct timer_list clk_timer; - struct timer_list timer_device_detect; bool clock_enabled; int hsic_connect_retries; struct mutex tegra_ehci_hcd_mutex; @@ -94,13 +93,6 @@ static void tegra_ehci_power_down(struct usb_hcd *hcd, bool is_dpd) #ifndef CONFIG_USB_HOTPLUG clk_disable(tegra->clk); #endif -#ifndef CONFIG_ARCH_TEGRA_2x_SOC - if (tegra->phy->instance == 2) { - if (mod_timer(&tegra->timer_device_detect, - jiffies + msecs_to_jiffies(2000))) - pr_err("timer configuration failed \n"); - } -#endif } static int tegra_ehci_internal_port_reset( @@ -898,34 +890,6 @@ void clk_timer_callback(unsigned long data) } } -void timer_callback_device_detect(unsigned long data) -{ -#ifndef CONFIG_ARCH_TEGRA_2x_SOC - struct tegra_ehci_hcd *tegra = (struct tegra_ehci_hcd*) data; - int ret; - u32 val; - struct usb_hcd *hcd; - u32 timer_deactivated; - hcd = ehci_to_hcd(tegra->ehci); - - if(tegra->phy->instance == 2) { - val = tegra_usb_phy_is_device_detected(tegra->phy); - if (val) { - timer_deactivated = del_timer( - &tegra->timer_device_detect); - if (timer_deactivated) - pr_err("timer deactivation failed \n"); - tegra_ehci_power_up(hcd, false); - } else { - ret = mod_timer(&tegra->timer_device_detect, - jiffies + msecs_to_jiffies(2000)); - if (ret) - pr_err("tegra device detect failed \n"); - } - } -#endif -} - static void clk_timer_work_handler(struct work_struct* clk_timer_work) { struct tegra_ehci_hcd *tegra = container_of(clk_timer_work, struct tegra_ehci_hcd, clk_timer_work); @@ -1086,10 +1050,6 @@ static int tegra_ehci_probe(struct platform_device *pdev) tegra->clk_timer.function = clk_timer_callback; tegra->clk_timer.data = (unsigned long) tegra; - init_timer(&tegra->timer_device_detect); - tegra->timer_device_detect.function = timer_callback_device_detect; - tegra->timer_device_detect.data = (unsigned long) tegra; - #ifdef CONFIG_ARCH_TEGRA_2x_SOC /* Set DDR busy hints to 150MHz. For Tegra 2x SOC, DDR rate is half of EMC rate */ clk_set_rate(tegra->emc_clk, 300000000); @@ -1276,7 +1236,6 @@ static int tegra_ehci_remove(struct platform_device *pdev) iounmap(hcd->regs); del_timer_sync(&tegra->clk_timer); - del_timer_sync(&tegra->timer_device_detect); clk_disable(tegra->clk); clk_put(tegra->clk); |