lkml.org 
[lkml]   [2007]   [Jan]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 12/23] clocksource: add clocksource_get_clock()
    One new API call clocksource_get_clock() which allows clocks to be selected
    based on their name, or if the name is null the highest rated clock is returned.

    Signed-Off-By: Daniel Walker <dwalker@mvista.com>

    ---
    include/linux/clocksource.h | 12 ++++++++++++
    kernel/time/clocksource.c | 18 ++++++++++++++++++
    2 files changed, 30 insertions(+)

    Index: linux-2.6.19/include/linux/clocksource.h
    ===================================================================
    --- linux-2.6.19.orig/include/linux/clocksource.h
    +++ linux-2.6.19/include/linux/clocksource.h
    @@ -234,6 +234,18 @@ static inline void clocksource_calculate
    extern struct clocksource *clocksource_get_next(void);
    extern int clocksource_register(struct clocksource*);
    extern void clocksource_rating_change(struct clocksource*);
    +extern struct clocksource * clocksource_get_clock(char*);
    +
    +/**
    + * clocksource_get_best_clock - Finds highest rated clocksource
    + *
    + * Returns the highest rated clocksource. If none are register the
    + * jiffies clock is returned.
    + */
    +static inline struct clocksource * clocksource_get_best_clock(void)
    +{
    + return clocksource_get_clock(NULL);
    +}

    #ifdef CONFIG_GENERIC_TIME_VSYSCALL
    extern void update_vsyscall(struct timespec *ts, struct clocksource *c);
    Index: linux-2.6.19/kernel/time/clocksource.c
    ===================================================================
    --- linux-2.6.19.orig/kernel/time/clocksource.c
    +++ linux-2.6.19/kernel/time/clocksource.c
    @@ -132,6 +132,24 @@ static inline struct clocksource * __get
    }

    /**
    + * clocksource_get_clock - Finds a specific clocksource
    + * @name: name of the clocksource to return
    + *
    + * Returns the clocksource if registered, zero otherwise.
    + */
    +struct clocksource * clocksource_get_clock(char * name)
    +{
    + struct clocksource * ret;
    + unsigned long flags;
    +
    + spin_lock_irqsave(&clocksource_lock, flags);
    + ret = __get_clock(name);
    + spin_unlock_irqrestore(&clocksource_lock, flags);
    + return ret;
    +}
    +
    +
    +/**
    * select_clocksource - Finds the best registered clocksource.
    *
    * Private function. Must hold clocksource_lock when called.
    --
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-01-31 04:45    [W:4.264 / U:0.224 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site