>From d05e9a31e4d697b704a1d9170aeee7235ffffb0f Mon Sep 17 00:00:00 2001 From: Giuseppe Cavallaro Date: Tue, 6 Apr 2010 16:04:46 +0200 Subject: [PATCH] add clocksource_get_next Added the clocksource_get_next function, it returns a source clock. The clocksource_get_next function has been used for testing LTT and implementing trace clock definitions on ST platforms. Signed-off-by: Giuseppe Cavallaro --- kernel/time/clocksource.c | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c index 0e98497..c9e8f56 100644 --- a/kernel/time/clocksource.c +++ b/kernel/time/clocksource.c @@ -613,6 +613,23 @@ static void clocksource_enqueue(struct clocksource *cs) list_add(&cs->list, entry); } +/* + * Return a clocksource if available + */ +struct clocksource *clocksource_get_next(void) +{ + struct clocksource *clock = NULL; + + mutex_lock(&clocksource_mutex); + if (!list_empty(&clocksource_list)) { + struct list_head *list = clocksource_list.next; + clock = container_of(list, struct clocksource, list); + } + mutex_unlock(&clocksource_mutex); + + return clock; +} + /** * clocksource_register - Used to install new clocksources * @t: clocksource to be registered -- 1.6.0.4