Now that OMAP4 has hwmod/module level context lost counters, make
omap_hwmod_get_context_loss_count() return them on platforms where they
exist, else fall back on the pwrdm level counters for older platforms.

Signed-off-by: Rajendra Nayak <[email protected]>
---
 arch/arm/mach-omap2/omap_hwmod.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
index ac17748..9d140c4 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -2658,9 +2658,14 @@ u32 omap_hwmod_get_context_loss_count(struct omap_hwmod 
*oh)
        struct powerdomain *pwrdm;
        int ret = 0;
 
-       pwrdm = omap_hwmod_get_pwrdm(oh);
-       if (pwrdm)
-               ret = pwrdm_get_context_loss_count(pwrdm);
+       if (oh->prcm.omap4.context_offs) {
+               /* Support for per-hwmod context register */
+               ret = oh->prcm.omap4.context_lost_counter;
+       } else {
+               pwrdm = omap_hwmod_get_pwrdm(oh);
+               if (pwrdm)
+                       ret = pwrdm_get_context_loss_count(pwrdm);
+       }
 
        return ret;
 }
-- 
1.7.1

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

Reply via email to