summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorSuresh Mangipudi <smangipudi@nvidia.com>2011-09-14 14:33:45 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:49:02 -0800
commit55266fc89cef1d2b2272c2101b3073ed29f979a7 (patch)
tree08c1827345943a4e451d47cc37d9498e25edb8a4 /drivers/usb
parent916bb3141f5c1a18efcfc6ca3afaeb5b5d2a3d48 (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.c41
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);