From: john stultz <johnstul@us.ibm.com>
To: lkml <linux-kernel@vger.kernel.org>
Cc: David Howells <dhowells@redhat.com>,
Koichi Yasutake <yasutake.koichi@jp.panasonic.com>,
linux-am33-list@redhat.com
Subject: [RFC][PATCH 11/14] Convert mn10300 to read/update_persistent_clock
Date: Tue, 22 Dec 2009 20:12:47 -0800 [thread overview]
Message-ID: <1261541567.3508.73.camel@localhost.localdomain> (raw)
In-Reply-To: <1261541491.3508.72.camel@localhost.localdomain>
This patch converts the mn10300 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.
Signed-off-by: John Stultz <johnstul@us.ibm.com>
---
Kconfig | 3 +++
kernel/rtc.c | 27 +++++----------------------
kernel/time.c | 4 ----
3 files changed, 8 insertions(+), 26 deletions(-)
Index: gettimeoffset/arch/mn10300/Kconfig
===================================================================
--- gettimeoffset.orig/arch/mn10300/Kconfig 2009-12-22 18:50:55.000000000 -0800
+++ gettimeoffset/arch/mn10300/Kconfig 2009-12-22 18:51:03.000000000 -0800
@@ -37,6 +37,9 @@ config GENERIC_HARDIRQS_NO__DO_IRQ
config GENERIC_CALIBRATE_DELAY
def_bool y
+config GENERIC_CMOS_UPDATE
+ def_bool y
+
config GENERIC_FIND_NEXT_BIT
def_bool y
Index: gettimeoffset/arch/mn10300/kernel/rtc.c
===================================================================
--- gettimeoffset.orig/arch/mn10300/kernel/rtc.c 2009-12-22 18:50:55.000000000 -0800
+++ gettimeoffset/arch/mn10300/kernel/rtc.c 2009-12-22 18:51:03.000000000 -0800
@@ -26,17 +26,15 @@ static long last_rtc_update;
/* time for RTC to update itself in ioclks */
static unsigned long mn10300_rtc_update_period;
-/*
- * read the current RTC time
- */
-unsigned long __init get_initial_rtc_time(void)
+void read_persistent_clock(struct timespec *ts)
{
struct rtc_time tm;
get_rtc_time(&tm);
- return mktime(tm.tm_year, tm.tm_mon, tm.tm_mday,
+ ts->tv_sec = mktime(tm.tm_year, tm.tm_mon, tm.tm_mday,
tm.tm_hour, tm.tm_min, tm.tm_sec);
+ ts->tv_nsec = 0;
}
/*
@@ -110,24 +108,9 @@ static int set_rtc_mmss(unsigned long no
return retval;
}
-void check_rtc_time(void)
+int update_persistent_clock(struct timespec now)
{
- /* the RTC clock just finished ticking over again this second
- * - if we have an externally synchronized Linux clock, then update
- * RTC clock accordingly every ~11 minutes. set_rtc_mmss() has to be
- * called as close as possible to 500 ms before the new second starts.
- */
- if ((time_status & STA_UNSYNC) == 0 &&
- 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
- /* do it again in 60s */
- last_rtc_update = xtime.tv_sec - 600;
- }
+ return set_rtc_mms(now.tv_sec);
}
/*
Index: gettimeoffset/arch/mn10300/kernel/time.c
===================================================================
--- gettimeoffset.orig/arch/mn10300/kernel/time.c 2009-12-22 18:50:55.000000000 -0800
+++ gettimeoffset/arch/mn10300/kernel/time.c 2009-12-22 18:51:03.000000000 -0800
@@ -111,7 +111,6 @@ static irqreturn_t timer_interrupt(int i
/* advance the kernel's time tracking system */
profile_tick(CPU_PROFILING);
do_timer(1);
- check_rtc_time();
}
write_sequnlock(&xtime_lock);
@@ -139,9 +138,6 @@ void __init time_init(void)
" (calibrated against RTC)\n",
MN10300_TSCCLK / 1000000, (MN10300_TSCCLK / 10000) % 100);
- xtime.tv_sec = get_initial_rtc_time();
- xtime.tv_nsec = 0;
-
mn10300_last_tsc = TMTSCBC;
/* use timer 0 & 1 cascaded to tick at as close to HZ as possible */
next prev parent reply other threads:[~2009-12-23 4:12 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-23 3:59 [RFC][PATCH 0/14] Convert remaining arches " john stultz
2009-12-23 4:00 ` [RFC][PATCH 1/14] Convert alpha " john stultz
2009-12-23 4:01 ` [RFC][PATCH 2/14] Convert arm " john stultz
2009-12-23 4:03 ` [RFC][PATCH 3/14] Convert avr32 " john stultz
2009-12-23 4:04 ` [RFC][PATCH 4/14] Convert blackfin " john stultz
2009-12-23 4:05 ` [RFC][PATCH 5/14] Convert cris " john stultz
2009-12-23 4:06 ` [RFC][PATCH 6/14] Convert frv " john stultz
2009-12-23 4:08 ` [RFC][PATCH 7/14] Convert h8300 " john stultz
2009-12-23 4:09 ` [RFC][PATCH 8/14] Convert ia64 " john stultz
2009-12-23 4:10 ` [RFC][PATCH 9/14] Convert m32r " john stultz
2009-12-23 4:11 ` [RFC][PATCH 10/14] Convert m68k " john stultz
2009-12-23 4:12 ` john stultz [this message]
2009-12-23 4:14 ` [RFC][PATCH 12/14] Convert parisc " john stultz
2009-12-23 4:15 ` [RFC][PATCH 13/14] Convert sh " john stultz
2009-12-23 4:16 ` [RFC][PATCH 14/14] Convert sparc " john stultz
2009-12-24 4:52 ` David Miller
2010-01-05 16:41 ` Kristoffer Glembo
2010-01-05 17:08 ` [RFC][PATCH 11/14] Convert mn10300 " David Howells
2010-01-05 16:47 ` [RFC][PATCH 6/14] Convert frv " David Howells
2009-12-24 11:09 ` [RFC][PATCH 2/14] Convert arm " Uwe Kleine-König
2009-12-23 5:08 ` [RFC][PATCH 0/14] Convert remaining arches " Paul Mundt
2009-12-23 10:08 ` Geert Uytterhoeven
2009-12-23 22:04 ` john stultz
2009-12-24 0:27 ` Dialup Jon Norstog
2009-12-24 4:54 ` David Miller
2009-12-24 5:10 ` Paul Mundt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1261541567.3508.73.camel@localhost.localdomain \
--to=johnstul@us.ibm.com \
--cc=dhowells@redhat.com \
--cc=linux-am33-list@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=yasutake.koichi@jp.panasonic.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome