It is perfectly appropriate to set the counter register
when the timer isn't running.  The value set will be where
the counter starts counting from.

Signed-off-by: NeilBrown <[email protected]>
---
 arch/arm/plat-omap/dmtimer.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c
index 869254c..d80d2c4 100644
--- a/arch/arm/plat-omap/dmtimer.c
+++ b/arch/arm/plat-omap/dmtimer.c
@@ -752,15 +752,16 @@ EXPORT_SYMBOL_GPL(omap_dm_timer_read_counter);
 
 int omap_dm_timer_write_counter(struct omap_dm_timer *timer, unsigned int 
value)
 {
-       if (unlikely(!timer || pm_runtime_suspended(&timer->pdev->dev))) {
-               pr_err("%s: timer not available or enabled.\n", __func__);
+       if (unlikely(!timer))
                return -EINVAL;
-       }
+
+       omap_dm_timer_enable(timer);
 
        omap_dm_timer_write_reg(timer, OMAP_TIMER_COUNTER_REG, value);
 
        /* Save the context */
        timer->context.tcrr = value;
+       omap_dm_timer_disable(timer);
        return 0;
 }
 EXPORT_SYMBOL_GPL(omap_dm_timer_write_counter);


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

Reply via email to