All of lore.kernel.org
 help / color / mirror / Atom feed
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,
	vapier@gentoo.org, tglx@linutronix.de
Subject: [tip:timers/cleanup] blackfin: Convert blackfin to use read/update_persistent_clock
Date: Sat, 13 Mar 2010 00:20:57 GMT	[thread overview]
Message-ID: <tip-cb0e996378900fa05d5c779d6bfa52d55ebc3407@git.kernel.org> (raw)
In-Reply-To: <1267675049-12337-10-git-send-email-johnstul@us.ibm.com>

Commit-ID:  cb0e996378900fa05d5c779d6bfa52d55ebc3407
Gitweb:     http://git.kernel.org/tip/cb0e996378900fa05d5c779d6bfa52d55ebc3407
Author:     John Stultz <johnstul@us.ibm.com>
AuthorDate: Wed, 3 Mar 2010 19:57:24 -0800
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Sat, 13 Mar 2010 01:14:12 +0100

blackfin: Convert blackfin to use read/update_persistent_clock

This patch converts the blackfin 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: Mike Frysinger <vapier@gentoo.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
LKML-Reference: <1267675049-12337-10-git-send-email-johnstul@us.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/blackfin/kernel/time-ts.c |   13 +++++++------
 arch/blackfin/kernel/time.c    |   39 ++++++---------------------------------
 2 files changed, 13 insertions(+), 39 deletions(-)

diff --git a/arch/blackfin/kernel/time-ts.c b/arch/blackfin/kernel/time-ts.c
index 17c38c5..08dd3e8 100644
--- a/arch/blackfin/kernel/time-ts.c
+++ b/arch/blackfin/kernel/time-ts.c
@@ -348,9 +348,15 @@ static int __init bfin_clockevent_init(void)
 	return 0;
 }
 
-void __init time_init(void)
+void read_persistent_clock(struct timespec *ts)
 {
 	time_t secs_since_1970 = (365 * 37 + 9) * 24 * 60 * 60;	/* 1 Jan 2007 */
+	ts->tv_sec = secs_since_1970;
+	ts->tv_nsec = 0;
+}
+
+void __init time_init(void)
+{
 
 #ifdef CONFIG_RTC_DRV_BFIN
 	/* [#2663] hack to filter junk RTC values that would cause
@@ -363,11 +369,6 @@ void __init time_init(void)
 	}
 #endif
 
-	/* Initialize xtime. From now on, xtime is updated with timer interrupts */
-	xtime.tv_sec = secs_since_1970;
-	xtime.tv_nsec = 0;
-	set_normalized_timespec(&wall_to_monotonic, -xtime.tv_sec, -xtime.tv_nsec);
-
 	bfin_cs_cycles_init();
 	bfin_cs_gptimer0_init();
 	bfin_clockevent_init();
diff --git a/arch/blackfin/kernel/time.c b/arch/blackfin/kernel/time.c
index 13c1ee3..c911361 100644
--- a/arch/blackfin/kernel/time.c
+++ b/arch/blackfin/kernel/time.c
@@ -112,11 +112,6 @@ u32 arch_gettimeoffset(void)
 }
 #endif
 
-static inline int set_rtc_mmss(unsigned long nowtime)
-{
-	return 0;
-}
-
 /*
  * timer_interrupt() needs to keep up the real-time clock,
  * as well as call the "do_timer()" routine every clocktick
@@ -126,29 +121,8 @@ __attribute__((l1_text))
 #endif
 irqreturn_t timer_interrupt(int irq, void *dummy)
 {
-	/* last time the cmos clock got updated */
-	static long last_rtc_update;
-
 	write_seqlock(&xtime_lock);
 	do_timer(1);
-
-	/*
-	 * 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.
-	 */
-	if (ntp_synced() &&
-	    xtime.tv_sec > last_rtc_update + 660 &&
-	    (xtime.tv_nsec / NSEC_PER_USEC) >=
-	    500000 - ((unsigned)TICK_SIZE) / 2
-	    && (xtime.tv_nsec / NSEC_PER_USEC) <=
-	    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;
-	}
 	write_sequnlock(&xtime_lock);
 
 #ifdef CONFIG_IPIPE
@@ -161,10 +135,15 @@ irqreturn_t timer_interrupt(int irq, void *dummy)
 	return IRQ_HANDLED;
 }
 
-void __init time_init(void)
+void read_persistent_clock(struct timespec *ts)
 {
 	time_t secs_since_1970 = (365 * 37 + 9) * 24 * 60 * 60;	/* 1 Jan 2007 */
+	ts->tv_sec = secs_since_1970;
+	ts->tv_nsec = 0;
+}
 
+void __init time_init(void)
+{
 #ifdef CONFIG_RTC_DRV_BFIN
 	/* [#2663] hack to filter junk RTC values that would cause
 	 * userspace to have to deal with time values greater than
@@ -176,11 +155,5 @@ void __init time_init(void)
 	}
 #endif
 
-	/* Initialize xtime. From now on, xtime is updated with timer interrupts */
-	xtime.tv_sec = secs_since_1970;
-	xtime.tv_nsec = 0;
-
-	wall_to_monotonic.tv_sec = -xtime.tv_sec;
-
 	time_sched_init(timer_interrupt);
 }

  parent reply	other threads:[~2010-03-13  0:23 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:timers/cleanup] m32r: Convert m32r to use read/update_peristent_clock tip-bot for John Stultz
2010-03-09 23:53                   ` [PATCH 09/14] blackfin: Convert blackfin to use read/update_persistent_clock Mike Frysinger
2010-03-09 23:59                     ` john stultz
2010-03-10  0:01                       ` Mike Frysinger
2010-03-13  0:20                   ` tip-bot for John Stultz [this message]
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-cb0e996378900fa05d5c779d6bfa52d55ebc3407@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=tglx@linutronix.de \
    --cc=vapier@gentoo.org \
    /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.