On Fri, Dec 16, 2011 at 5:18 AM, Ramirez Luna, Omar <omar.ramirez@xxxxxx> wrote: > On Thu, Dec 15, 2011 at 6:53 PM, Felipe Contreras > <felipe.contreras@xxxxxxxxx> wrote: >> On Thu, Dec 15, 2011 at 6:18 AM, Omar Ramirez Luna <omar.ramirez@xxxxxx> wrote: >>> Use runtime PM functionality interfaced with hwmod enable/idle >>> functions, to replace direct clock operations, reset and sysconfig >>> handling. >>> >>> Removed clk handling during interrupt, given that in order to receive one, >>> the device should be powered on in advance. Now doing pm_runtime_get/put >>> on iommu_enable/disable so it doesn't rely on others to keep the clocks on. >>> >>> Signed-off-by: Omar Ramirez Luna <omar.ramirez@xxxxxx> >>> --- >>> arch/arm/mach-omap2/iommu2.c | 17 ----------- >>> arch/arm/mach-omap2/omap-iommu.c | 1 - >>> arch/arm/plat-omap/include/plat/iommu.h | 2 - >>> arch/arm/plat-omap/include/plat/iommu2.h | 2 - >>> drivers/iommu/omap-iommu.c | 44 ++++++++++++----------------- >>> 5 files changed, 18 insertions(+), 48 deletions(-) >> >> Shouldn't pm_runtime_enable() be called in omap_iommu_init(), and >> omap_iommu_probe() call pm_runtime_get_sync()/put() on the sections >> where the device should be active? > > omap_iommu_init is called on module init however omap_iommu_probe is > called by driver instance (isp, iva), on probe pm_runtime_enable > activates runtime for both isp and iva devices, one at a time. Yes, but omap_iommu_init() will *always* be called at boot time and will register the data for all the devices. If the 'iommu' module is never loaded, then the devices will remain active the whole time. Maybe Paul or somebody with better knowledge of the pm runtime framework can clarify this. Cheers. -- Felipe Contreras -- 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