@@ -80,7 +80,7 @@ static irqreturn_t omap2_gp_timer_interrupt(int irq, void *dev_id)
{
struct clock_event_device *evt = &clockevent_gpt;
- __omap_dm_timer_write_status(&clkev, OMAP_TIMER_INT_OVERFLOW);
+ omap_dm_timer_write_status(&clkev, OMAP_TIMER_INT_OVERFLOW);
evt->event_handler(evt);
return IRQ_HANDLED;
@@ -768,6 +768,9 @@ EXPORT_SYMBOL_GPL(omap_dm_timer_set_int_disable);
static int is_timer_available(struct omap_dm_timer *timer)
{
+ if (timer && timer->systimer)
+ return 1;
+
if (unlikely(!timer || pm_runtime_suspended(&timer->pdev->dev))) {
pr_err("Timer not available or enabled.\n");
WARN_ON(1);
@@ -794,7 +797,7 @@ int omap_dm_timer_write_status(struct omap_dm_timer *timer, unsigned int value)
if (!is_timer_available(timer))
return -EINVAL;
- __omap_dm_timer_write_status(timer, value);
+ __raw_writel(value, timer->irq_stat);
return 0;
}
@@ -380,10 +380,4 @@ __omap_dm_timer_read_counter(struct omap_dm_timer *timer, int posted)
return __omap_dm_timer_read(timer, OMAP_TIMER_COUNTER_REG, posted);
}
-static inline void __omap_dm_timer_write_status(struct omap_dm_timer *timer,
- unsigned int value)
-{
- __raw_writel(value, timer->irq_stat);
-}
-
#endif /* __ASM_ARCH_DMTIMER_H */
__omap_dm_timer_write_status is folded back into omap_dm_timer_write_status, all users are converted to use it, and old API is removed. This works thanks to the systimer flag just introduced in the series. Signed-off-by: Joel Fernandes <joelf@ti.com> --- arch/arm/mach-omap2/timer.c | 2 +- arch/arm/plat-omap/dmtimer.c | 5 ++++- arch/arm/plat-omap/include/plat/dmtimer.h | 6 ------ 3 files changed, 5 insertions(+), 8 deletions(-)