Kevin, While adapting some drivers to HWMOD way, I tried using pm_runtime APIs. My understanding is that instead of using clock FW APIs or omap_device APIs, we can make use of pm_runtime APIs. But, I observed that pm_runtime_enable() does not enable the clocks (fck/ick). To test this, I used origin/pm-wip/mmc branch. In omap_hsmmc_probe() function, I tried printing the values of CM_FCLKEN1_CORE and CM_ICLKEN1_CORE registers before and after pm_runtime_enable(). The values indicated that both before and after pm_runtime_enable(), the MMC clocks (fclk & iclk) are disabled. Strangely, I do not find any crash while accessing MMC registers with mmc iclk disabled. If I use clock FW APIs to enable these clocks (after pm_runtime_enable()) and print these values, I could see those clocks enabled properly and values printed accordingly. I observed similar behavior with Watchdog and found that access of some watchdog registers end up in crash if I use pm_runtime APIs (as the wdt iclk is not enabled while using pm_runtime_enable()), but works fine if I use clk FW APIS to enable clks. I am using origin/pm-wip/runtime branch with patches to adapt watchdog to HWMOD FW on top of. I use "omap3_defconfig" and test on 3430SDP. On mmc branch I am working on top of the following commit: commit fe64f0fab492651d7f9296b9d830f2c11844b546 Author: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Date: Wed Jan 20 09:48:52 2010 -0800 OMAP2/3 MMC: initial conversion to runtime PM Please clarify. Thanks, V Charulatha -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html