diff options
author | Preetham Chandru R <pchandru@nvidia.com> | 2012-11-29 17:08:50 +0530 |
---|---|---|
committer | Matthew Pedro <mapedro@nvidia.com> | 2012-12-07 10:17:51 -0800 |
commit | 3c3574a139f9093d6841b2483c0015060f88ee55 (patch) | |
tree | 5dcf8197a80a5aa599c0801126c0b494e9c10645 /drivers/usb/gadget/tegra_udc.c | |
parent | 7da5cecd4eb9a7771a75e754c87e21cad2d4e26d (diff) |
usb: tegra: conditionally set wake enable
Set wake enable only if remote wakeup is supported
by the platform
Bug 1039143
Signed-off-by: Preetham Chandru R <pchandru@nvidia.com>
Change-Id: I805dd773cdbb5639f59b2f5ba4bcb2e14be74d5b
Reviewed-on: http://git-master/r/147462
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Suresh Mangipudi <smangipudi@nvidia.com>
Reviewed-by: Krishna Yarlagadda <kyarlagadda@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
Diffstat (limited to 'drivers/usb/gadget/tegra_udc.c')
-rw-r--r-- | drivers/usb/gadget/tegra_udc.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/usb/gadget/tegra_udc.c b/drivers/usb/gadget/tegra_udc.c index ddf9c602dc89..9af22ebe8b58 100644 --- a/drivers/usb/gadget/tegra_udc.c +++ b/drivers/usb/gadget/tegra_udc.c @@ -38,6 +38,7 @@ #include <linux/err.h> #include <linux/io.h> #include <linux/pm_qos_params.h> +#include <linux/platform_data/tegra_usb.h> #include <asm/byteorder.h> #include <asm/io.h> @@ -2565,6 +2566,7 @@ static int __init tegra_udc_probe(struct platform_device *pdev) { struct tegra_udc *udc; struct resource *res; + struct tegra_usb_platform_data *pdata = dev_get_platdata(&pdev->dev); int err = -ENODEV; DBG("%s(%d) BEGIN\n", __func__, __LINE__); @@ -2615,12 +2617,14 @@ static int __init tegra_udc_probe(struct platform_device *pdev) goto err_iounmap; } - err = enable_irq_wake(udc->irq); - if (err < 0) { - dev_warn(&pdev->dev, - "Couldn't enable USB udc mode wakeup, irq=%d, error=%d\n", - udc->irq, err); - err = 0; + if (pdata->u_data.dev.remote_wakeup_supported) { + err = enable_irq_wake(udc->irq); + if (err < 0) { + dev_warn(&pdev->dev, + "Couldn't enable USB udc mode wakeup, irq=%d," + " error=%d\n", udc->irq, err); + err = 0; + } } udc->phy = tegra_usb_phy_open(pdev); |