From: Thomas Gleixner Date: Tue, 1 Feb 2011 13:51:09 +0000 (+0000) Subject: posix-timers: Introduce clockid_to_kclock() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=cc785ac22b17ed53e8ff5c1501e422be6d10be3c;p=mv-sheeva.git posix-timers: Introduce clockid_to_kclock() New function to find the kclock for a given clockid. Returns a pointer to clock_posix_cpu if clockid < 0. If clockid >= MAXCLOCK or if the clock_getres pointer is not set it returns NULL. For valid clocks it returns a pointer to the matching posix_clock. Signed-off-by: Thomas Gleixner Cc: John Stultz Acked-by: Richard Cochran LKML-Reference: <20110201134417.938447839@linutronix.de> --- diff --git a/kernel/posix-timers.c b/kernel/posix-timers.c index e7d26afd8ee..14b0a70ffb1 100644 --- a/kernel/posix-timers.c +++ b/kernel/posix-timers.c @@ -531,6 +531,16 @@ static void release_posix_timer(struct k_itimer *tmr, int it_id_set) kmem_cache_free(posix_timers_cache, tmr); } +static struct k_clock *clockid_to_kclock(const clockid_t id) +{ + if (id < 0) + return &clock_posix_cpu; + + if (id >= MAX_CLOCKS || !posix_clocks[id].clock_getres) + return NULL; + return &posix_clocks[id]; +} + /* Create a POSIX.1b interval timer. */ SYSCALL_DEFINE3(timer_create, const clockid_t, which_clock,