瀏覽代碼

clocksource/drivers/timer-of: Add timer_of_exit function

The timer-of API does not provide a function to undo what has been done by
the timer_of_init() function.

Add a timer_of_exit() function.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Benjamin Gaignard 7 年之前
父節點
當前提交
f48729a999
共有 2 個文件被更改,包括 15 次插入0 次删除
  1. 12 0
      drivers/clocksource/timer-of.c
  2. 3 0
      drivers/clocksource/timer-of.h

+ 12 - 0
drivers/clocksource/timer-of.c

@@ -176,3 +176,15 @@ out_fail:
 		timer_base_exit(&to->of_base);
 	return ret;
 }
+
+void timer_of_exit(struct timer_of *to)
+{
+	if (to->flags & TIMER_OF_IRQ)
+		timer_irq_exit(&to->of_irq);
+
+	if (to->flags & TIMER_OF_CLOCK)
+		timer_clk_exit(&to->of_clk);
+
+	if (to->flags & TIMER_OF_BASE)
+		timer_base_exit(&to->of_base);
+}

+ 3 - 0
drivers/clocksource/timer-of.h

@@ -66,4 +66,7 @@ static inline unsigned long timer_of_period(struct timer_of *to)
 
 extern int __init timer_of_init(struct device_node *np,
 				struct timer_of *to);
+
+extern void timer_of_exit(struct timer_of *to);
+
 #endif