summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorMayuresh Kulkarni <mkulkarni@nvidia.com>2010-01-13 12:18:57 +0530
committerMayuresh Kulkarni <mkulkarni@nvidia.com>2010-01-13 12:18:57 +0530
commit65fbf7c7079616aa43c1c76cff37ff16b9425556 (patch)
tree1a7104510a7533b57a872b8e55569375aa232328 /drivers/usb
parentb4507c60baeb4e9b973fe11413d46e7b5fef0f08 (diff)
tegra usb host: stubbing out ehci_bus suspend/resume
This is needed as ehci_bus_suspend() gets called during bootup which causes the boot process to hang when tegra suspend ops is registered with kernel. Change-Id: Ic6976ee8c04e284d3fb89a8f69cb662f5dbeffa6
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/host/ehci-tegra.c36
1 files changed, 18 insertions, 18 deletions
diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c
index ba167c776652..698e5f7f365e 100644
--- a/drivers/usb/host/ehci-tegra.c
+++ b/drivers/usb/host/ehci-tegra.c
@@ -37,16 +37,12 @@
#include "nvrm_hardware_access.h"
#include "nvddk_usbphy.h"
-/* FIXME: Power Management is un-ported so temporarily disable it */
-#undef CONFIG_PM
-
#define TEGRA_USB_ID_INT_ENABLE (1 << 0)
#define TEGRA_USB_ID_INT_STATUS (1 << 1)
#define TEGRA_USB_ID_PIN_STATUS (1 << 2)
#define TEGRA_USB_ID_PIN_WAKEUP_ENABLE (1 << 6)
#define TEGRA_USB_PHY_WAKEUP_REG_OFFSET (0x408)
-
static void tegra_ehci_shutdown (struct usb_hcd *hcd)
{
struct tegra_hcd_platform_data *pdata;
@@ -62,7 +58,6 @@ static void tegra_ehci_shutdown (struct usb_hcd *hcd)
NV_ASSERT_SUCCESS(NvDdkUsbPhyPowerDown(pdata->hUsbPhy, 0));
}
-
static irqreturn_t tegra_ehci_irq (struct usb_hcd *hcd)
{
struct ehci_hcd *ehci = hcd_to_ehci (hcd);
@@ -95,7 +90,6 @@ static irqreturn_t tegra_ehci_irq (struct usb_hcd *hcd)
return ehci_irq(hcd);
}
-
static int tegra_ehci_reinit(struct usb_hcd *hcd)
{
struct tegra_hcd_platform_data *pdata;
@@ -154,6 +148,18 @@ static int tegra_ehci_setup(struct usb_hcd *hcd)
return retval;
}
+static int tegra_ehci_bus_suspend(struct usb_hcd *hcd)
+{
+ printk("%s called\n", __func__);
+ return 0;
+}
+
+static int tegra_ehci_bus_resume(struct usb_hcd *hcd)
+{
+ printk("%s called\n", __func__);
+ return 0;
+}
+
static const struct hc_driver tegra_ehci_hc_driver = {
.description = hcd_name,
.product_desc = "Tegra Ehci host controller",
@@ -173,13 +179,12 @@ static const struct hc_driver tegra_ehci_hc_driver = {
.get_frame_number = ehci_get_frame,
.hub_status_data = ehci_hub_status_data,
.hub_control = ehci_hub_control,
- .bus_suspend = ehci_bus_suspend,
- .bus_resume = ehci_bus_resume,
+ .bus_suspend = tegra_ehci_bus_suspend,
+ .bus_resume = tegra_ehci_bus_resume,
.relinquish_port = ehci_relinquish_port,
.port_handed_over = ehci_port_handed_over,
};
-
static int tegra_ehci_probe(struct platform_device *pdev)
{
int instance = pdev->id;
@@ -317,20 +322,17 @@ static int tegra_ehci_remove(struct platform_device *pdev)
return 0;
}
-#ifdef CONFIG_PM
static int tegra_ehci_suspend(struct platform_device *pdev,
pm_message_t message)
{
- return -ENXIO;
+ printk("%s called\n", __func__);
+ return 0;
}
static int tegra_ehci_resume(struct platform_device *pdev)
{
- return -ENXIO;
+ printk("%s called\n", __func__);
+ return 0;
}
-#else
-#define tegra_ehci_resume NULL
-#define tegra_ehci_suspend NULL
-#endif
static struct platform_driver tegra_ehci_driver =
{
@@ -343,5 +345,3 @@ static struct platform_driver tegra_ehci_driver =
.name = "tegra-ehci",
}
};
-
-