Prev: [PATCH 1/2] vsprintf: Recursive vsnprintf: Add "%pV", struct va_format
Next: pid_ns: zap_pid_ns_processes: use SEND_SIG_NOINFO instead of force_sig()
From: David Miller on 4 Mar 2010 01:50 From: John Stultz <johnstul(a)us.ibm.com> Date: Wed, 3 Mar 2010 19:57:27 -0800 > 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(a)davemloft.net> > Cc: Thomas Gleixner <tglx(a)linutronix.de> > Cc: Andrew Morton <akpm(a)linux-foundation.org> > > Signed-off-by: John Stultz <johnstul(a)us.ibm.com> Here's a version that compiles, you have to get rid of the now unused variably last_rtc_update since we build with -Werror, and you can also add my: Acked-by: David S. Miller <davem(a)davemloft.net> Also, you'll reach more sparc developers by CC:'ing sparclinux(a)vger.kernel.org on your patches :-) 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..4453003 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 @@ -87,9 +92,6 @@ u32 (*do_arch_gettimeoffset)(void); static irqreturn_t timer_interrupt(int dummy, void *dev_id) { - /* last time the cmos clock got updated */ - static long last_rtc_update; - #ifndef CONFIG_SMP profile_tick(CPU_PROFILING); #endif @@ -101,16 +103,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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |