lkml.org 
[lkml]   [2010]   [Mar]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 12/14] sparc: Convert sparc to use read/update_persistent_clock
    Date
    This patch converts the sparc architecture to use the generic read_persistent_clock and update_persistent_clock interfaces, reducing the amount of arch specific code we have to maintain, and allowing for further cleanups in the future.

    I have not built or tested this patch, so help from arch maintainers would be appreciated.

    Cc: David S. Miller" <davem@davemloft.net>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Andrew Morton <akpm@linux-foundation.org>

    Signed-off-by: John Stultz <johnstul@us.ibm.com>
    ---
    arch/sparc/Kconfig | 2 +-
    arch/sparc/kernel/time_32.c | 15 +++++----------
    2 files changed, 6 insertions(+), 11 deletions(-)

    diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
    index 4097f6a..0e8ec2a 100644
    --- a/arch/sparc/Kconfig
    +++ b/arch/sparc/Kconfig
    @@ -72,7 +72,7 @@ config ARCH_USES_GETTIMEOFFSET

    config GENERIC_CMOS_UPDATE
    bool
    - default y if SPARC64
    + default y

    config GENERIC_CLOCKEVENTS
    bool
    diff --git a/arch/sparc/kernel/time_32.c b/arch/sparc/kernel/time_32.c
    index 0d4c09b..a3f1690 100644
    --- a/arch/sparc/kernel/time_32.c
    +++ b/arch/sparc/kernel/time_32.c
    @@ -78,6 +78,11 @@ __volatile__ unsigned int *master_l10_counter;

    u32 (*do_arch_gettimeoffset)(void);

    +int update_persistent_clock(struct timespec now)
    +{
    + return set_rtc_mmss(now.tv_sec);
    +}
    +
    /*
    * timer_interrupt() needs to keep up the real-time clock,
    * as well as call the "do_timer()" routine every clocktick
    @@ -101,16 +106,6 @@ static irqreturn_t timer_interrupt(int dummy, void *dev_id)

    do_timer(1);

    - /* Determine when to update the Mostek clock. */
    - if (ntp_synced() &&
    - xtime.tv_sec > last_rtc_update + 660 &&
    - (xtime.tv_nsec / 1000) >= 500000 - ((unsigned) TICK_SIZE) / 2 &&
    - (xtime.tv_nsec / 1000) <= 500000 + ((unsigned) TICK_SIZE) / 2) {
    - if (set_rtc_mmss(xtime.tv_sec) == 0)
    - last_rtc_update = xtime.tv_sec;
    - else
    - last_rtc_update = xtime.tv_sec - 600; /* do it again in 60 s */
    - }
    write_sequnlock(&xtime_lock);

    #ifndef CONFIG_SMP
    --
    1.6.0.4


    \
     
     \ /
      Last update: 2010-03-04 05:01    [W:0.028 / U:0.152 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site