From: tip-bot for John Stultz <johnstul@us.ibm.com>
To: linux-tip-commits@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, hpa@zytor.com, mingo@redhat.com,
akpm@linux-foundation.org, johnstul@us.ibm.com,
takata@linux-m32r.org, tglx@linutronix.de
Subject: [tip:timers/cleanup] m32r: Convert m32r to use read/update_peristent_clock
Date: Sat, 13 Mar 2010 00:21:15 GMT [thread overview]
Message-ID: <tip-944694716d6ea3c274a73c830bf33e194bad4bcd@git.kernel.org> (raw)
In-Reply-To: <1267675049-12337-11-git-send-email-johnstul@us.ibm.com>
Commit-ID: 944694716d6ea3c274a73c830bf33e194bad4bcd
Gitweb: http://git.kernel.org/tip/944694716d6ea3c274a73c830bf33e194bad4bcd
Author: John Stultz <johnstul@us.ibm.com>
AuthorDate: Wed, 3 Mar 2010 19:57:25 -0800
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Sat, 13 Mar 2010 01:14:12 +0100
m32r: Convert m32r to use read/update_peristent_clock
This patch converts the m32r 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>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
LKML-Reference: <1267675049-12337-11-git-send-email-johnstul@us.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
arch/m32r/kernel/time.c | 47 +++++++----------------------------------------
1 files changed, 7 insertions(+), 40 deletions(-)
diff --git a/arch/m32r/kernel/time.c b/arch/m32r/kernel/time.c
index 9cedcef..bda8682 100644
--- a/arch/m32r/kernel/time.c
+++ b/arch/m32r/kernel/time.c
@@ -106,24 +106,6 @@ u32 arch_gettimeoffset(void)
}
/*
- * In order to set the CMOS clock precisely, set_rtc_mmss has to be
- * called 500 ms after the second nowtime has started, because when
- * nowtime is written into the registers of the CMOS clock, it will
- * jump to the next second precisely 500 ms later. Check the Motorola
- * MC146818A or Dallas DS12887 data sheet for details.
- *
- * BUG: This routine does not handle hour overflow properly; it just
- * sets the minutes. Usually you won't notice until after reboot!
- */
-static inline int set_rtc_mmss(unsigned long nowtime)
-{
- return 0;
-}
-
-/* last time the cmos clock got updated */
-static long last_rtc_update = 0;
-
-/*
* timer_interrupt() needs to keep up the real-time clock,
* as well as call the "do_timer()" routine every clocktick
*/
@@ -138,23 +120,6 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)
#ifndef CONFIG_SMP
update_process_times(user_mode(get_irq_regs()));
#endif
- /*
- * If we have an externally synchronized Linux clock, then update
- * CMOS clock accordingly every ~11 minutes. Set_rtc_mmss() has to be
- * called as close as possible to 500 ms before the new second starts.
- */
- write_seqlock(&xtime_lock);
- 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 /* do it again in 60 s */
- last_rtc_update = xtime.tv_sec - 600;
- }
- write_sequnlock(&xtime_lock);
/* As we return to user mode fire off the other CPU schedulers..
this is basically because we don't yet share IRQ's around.
This message is rigged to be safe on the 386 - basically it's
@@ -174,7 +139,7 @@ static struct irqaction irq0 = {
.name = "MFT2",
};
-void __init time_init(void)
+void read_persistent_clock(struct timespec *ts)
{
unsigned int epoch, year, mon, day, hour, min, sec;
@@ -194,11 +159,13 @@ void __init time_init(void)
epoch = 1952;
year += epoch;
- xtime.tv_sec = mktime(year, mon, day, hour, min, sec);
- xtime.tv_nsec = (INITIAL_JIFFIES % HZ) * (NSEC_PER_SEC / HZ);
- set_normalized_timespec(&wall_to_monotonic,
- -xtime.tv_sec, -xtime.tv_nsec);
+ ts->tv_sec = mktime(year, mon, day, hour, min, sec);
+ ts->tv_nsec = (INITIAL_JIFFIES % HZ) * (NSEC_PER_SEC / HZ);
+}
+
+void __init time_init(void)
+{
#if defined(CONFIG_CHIP_M32102) || defined(CONFIG_CHIP_XNUX2) \
|| defined(CONFIG_CHIP_VDEC2) || defined(CONFIG_CHIP_M32700) \
|| defined(CONFIG_CHIP_OPSP) || defined(CONFIG_CHIP_M32104)
next prev parent reply other threads:[~2010-03-13 0:22 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-04 3:57 [PATCH 00/14] Convert remaining arches to use read/update_persistent_clock John Stultz
2010-03-04 3:57 ` [PATCH 01/14] alpha: Convert alpha " John Stultz
2010-03-04 3:57 ` [PATCH 02/14] mn10300: Convert mn10300 " John Stultz
2010-03-04 3:57 ` [PATCH 03/14] frv: Convert frv " John Stultz
2010-03-04 3:57 ` [PATCH 04/14] parisc: Convert parisc " John Stultz
2010-03-04 3:57 ` [PATCH 05/14] h8300: Convert h8300 " John Stultz
2010-03-04 3:57 ` [PATCH 06/14] avr32: Convert avr32 " John Stultz
2010-03-04 3:57 ` [PATCH 07/14] ia64: Convert ia64 " John Stultz
2010-03-04 3:57 ` [PATCH 08/14] sh: Convert sh " John Stultz
2010-03-04 3:57 ` [PATCH 09/14] blackfin: Convert blackfin " John Stultz
2010-03-04 3:57 ` [PATCH 10/14] m32r: Convert m32r to use read/update_peristent_clock John Stultz
2010-03-04 3:57 ` [PATCH 11/14] m68k: Convert m68k to use read/update_persistent_clock John Stultz
2010-03-04 3:57 ` [PATCH 12/14] sparc: Convert sparc " John Stultz
2010-03-04 3:57 ` [PATCH 13/14] cris: Convert cris " John Stultz
2010-03-04 3:57 ` [PATCH 14/14] arm: Convert arm to use read_persistent_clock John Stultz
2010-03-04 9:36 ` Russell King - ARM Linux
2010-03-04 19:55 ` john stultz
2010-03-13 0:21 ` [tip:timers/cleanup] cris: Convert cris to use read/update_persistent_clock tip-bot for John Stultz
2010-03-04 6:41 ` [PATCH 12/14] sparc: Convert sparc " David Miller
2010-03-13 0:21 ` [tip:timers/cleanup] m68k: Convert m68k " tip-bot for John Stultz
2010-03-13 0:21 ` tip-bot for John Stultz [this message]
2010-03-09 23:53 ` [PATCH 09/14] blackfin: Convert blackfin " Mike Frysinger
2010-03-09 23:59 ` john stultz
2010-03-10 0:01 ` Mike Frysinger
2010-03-13 0:20 ` [tip:timers/cleanup] " tip-bot for John Stultz
2010-03-04 17:00 ` [PATCH 08/14] sh: Convert sh " Paul Mundt
2010-03-13 0:20 ` [tip:timers/cleanup] ia64: Convert ia64 " tip-bot for John Stultz
2010-03-13 0:20 ` [tip:timers/cleanup] avr32: Convert avr32 " tip-bot for John Stultz
2010-03-13 0:20 ` [tip:timers/cleanup] h8300: Convert h8300 " tip-bot for John Stultz
2010-03-06 22:40 ` [PATCH 04/14] parisc: Convert parisc " Helge Deller
2010-03-06 22:49 ` Kyle McMartin
2010-03-13 0:19 ` [tip:timers/cleanup] frv: Convert frv " tip-bot for John Stultz
2010-03-13 0:19 ` [tip:timers/cleanup] mn10300: Convert mn10300 " tip-bot for John Stultz
2010-03-13 0:19 ` [tip:timers/cleanup] alpha: Convert alpha " tip-bot for John Stultz
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=tip-944694716d6ea3c274a73c830bf33e194bad4bcd@git.kernel.org \
--to=johnstul@us.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=takata@linux-m32r.org \
--cc=tglx@linutronix.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.