Messages in this thread Patch in this message | | | Date | Fri, 09 Apr 2010 08:53:11 +0200 | From | Giuseppe CAVALLARO <> | Subject | re-adding clocksource_get_next ? |
| |
Hello! this function was removed in the past but I've not clear all the details. While testing LLTng, I wrote the patch, in attachment, that re-adds it again. The clocksource_get_next returns the first clock source available (without looking at the rating). In my environment, a clock source is a TMU channel (e.g. TMU1) and, indeed, clocksource_get_next works fine.
Let me know if it makes sense or if I'm missing something.
Best Regards, Giuseppe From d05e9a31e4d697b704a1d9170aeee7235ffffb0f Mon Sep 17 00:00:00 2001 From: Giuseppe Cavallaro <peppe.cavallaro@st.com> 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 <peppe.cavallaro@st.com> --- 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
| |