diff options
author | Mayuresh Kulkarni <mkulkarni@nvidia.com> | 2010-01-13 12:18:57 +0530 |
---|---|---|
committer | Mayuresh Kulkarni <mkulkarni@nvidia.com> | 2010-01-13 12:18:57 +0530 |
commit | 65fbf7c7079616aa43c1c76cff37ff16b9425556 (patch) | |
tree | 1a7104510a7533b57a872b8e55569375aa232328 /drivers/usb | |
parent | b4507c60baeb4e9b973fe11413d46e7b5fef0f08 (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.c | 36 |
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", } }; - - |