Re: [PATCH/RFC] ARM: OMAP: MUSB: disable omap_device auto-suspend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Mon, Nov 28, 2011 at 04:56:30PM -0800, Kevin Hilman wrote:
> The MUSB driver does not currently implment suspend/resume callbacks,

this is not entirelly true, actually. Such methods are missing for
omap2430 glue layer, not for MUSB itself. And the fact is that it's only
missing because we failed to use UNIVERSAL_DEV_PM_OPS for declaring
dev_pm_ops structure.

Can you see if this patch helps:

diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c
index fd5dd46..d89caec 100644
--- a/drivers/usb/musb/omap2430.c
+++ b/drivers/usb/musb/omap2430.c
@@ -525,10 +525,8 @@ static int omap2430_runtime_resume(struct device *dev)
 	return 0;
 }
 
-static struct dev_pm_ops omap2430_pm_ops = {
-	.runtime_suspend = omap2430_runtime_suspend,
-	.runtime_resume = omap2430_runtime_resume,
-};
+static UNIVERSAL_DEV_PM_OPS(omap2430_pm_ops, omap2430_runtime_suspend,
+		omap2430_runtime_resume, NULL);
 
 #define DEV_PM_OPS	(&omap2430_pm_ops)
 #else

You also have to remember that for host side PM to work, you depend on
your class driver supporting autosuspend feature. If it doesn't, then
its interface will never call usb_autopm_put_interface() and thus pm
counter will never decrease. Be sure to use a device whose driver
supports autosuspend feature.

-- 
balbi

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux