Hello.

I wrote:

Calling runtime pm APIs pm_runtime_put_sync() and pm_runtime_get_sync() for enabling/disabling the clocks,sysconfig settings.

used omap_hwmod_enable_wakeup & omap_hwmod_disable_wakeup apis to set/clear
the wakeup enable bit.
Also need to put the USB in force standby and force idle mode when usb not used
and set it back to smart idle and smart stndby after wakeup.
these cases are handled using the oh flags.
For omap3430 auto idle bit has to be disabled because of the errata.So using HWMOD_NO_OCP_AUTOIDLE flag for OMAP3430.

Signed-off-by: Hema HK <hem...@ti.com>
Signed-off-by: Basak, Partha <p-bas...@ti.com>

Cc: Felipe Balbi <felipe.ba...@nokia.com>
Cc: Tony Lindgren <t...@atomide.com>
Cc: Kevin Hilman <khil...@deeprootsystems.com>

[...]

Index: linux-omap-pm/include/linux/usb/musb.h
===================================================================
--- linux-omap-pm.orig/include/linux/usb/musb.h 2010-08-06 10:44:06.000000000 -0400 +++ linux-omap-pm/include/linux/usb/musb.h 2010-08-06 10:44:42.946115274 -0400
@@ -10,6 +10,9 @@
 #ifndef __LINUX_USB_MUSB_H
 #define __LINUX_USB_MUSB_H
+#include <linux/platform_device.h>

You could just use incomplete declaration of 'struct platfrom_device' instead of this #include.

+#include <plat/omap_hwmod.h>

Did you think about the other platfroms where this file doesn't exist? How are they supposed to compile?!
   I think this #include needs to be wrapped in #ifdef as well...

+
/* The USB role is defined by the connector used on the board, so long as
  * standards are being followed.  (Developer boards sometimes won't.)
  */
@@ -129,6 +132,21 @@
/* check usb device active state*/
     int        (*is_usb_active)(struct device *dev);
+
+    /* omap hwmod data structure     */
+    struct    omap_hwmod *oh;

   This should be wrapped into #ifdef, don't you think?

+    /* enable clocks and set sysconfig register*/
+    int        (*device_enable)(struct platform_device *pdev);
+
+    /* Disable clock and reset the sysconfig register settings*/
+    int        (*device_idle)(struct platform_device *pdev);
+
+    /* set the enable wakeup bit of sysconfig register */
+    int        (*enable_wakeup)(struct omap_device *od);
+
+    /* Clear the enable wakeup bit  of sysconfig register */
+    int        (*disable_wakeup)(struct omap_device *od);

   This should be wrapped too, I think...

WBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to