summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-03-18 16:52:50 +0000
committerDavid Howells <dhowells@redhat.com>2011-03-18 16:52:50 +0000
commit817890ba15df44181bc9c2bf7527cb066ebae06f (patch)
treed6cf5a0e5a023894ab5fe8bdb1a64bdaf4c12f77
parent73a173a4117419892bd436e85a00a53aa22ad118 (diff)
downloadlinux-3.10-817890ba15df44181bc9c2bf7527cb066ebae06f.tar.gz
linux-3.10-817890ba15df44181bc9c2bf7527cb066ebae06f.tar.bz2
linux-3.10-817890ba15df44181bc9c2bf7527cb066ebae06f.zip
MN10300: Use clocksource_register_hz()
clocksource_register_hz() calculates the shift/mult pair for the clocksource. Remove the mn10300 duplicate implementation. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: John Stultz <johnstul@us.ibm.com> Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com> Cc: Mark Salter <msalter@redhat.com> Signed-off-by: David Howells <dhowells@redhat.com>
-rw-r--r--arch/mn10300/kernel/csrc-mn10300.c3
-rw-r--r--arch/mn10300/kernel/internal.h3
-rw-r--r--arch/mn10300/kernel/time.c16
3 files changed, 1 insertions, 21 deletions
diff --git a/arch/mn10300/kernel/csrc-mn10300.c b/arch/mn10300/kernel/csrc-mn10300.c
index ba2f0c4d6e0..45644cf18c4 100644
--- a/arch/mn10300/kernel/csrc-mn10300.c
+++ b/arch/mn10300/kernel/csrc-mn10300.c
@@ -29,7 +29,6 @@ static struct clocksource clocksource_mn10300 = {
int __init init_clocksource(void)
{
startup_timestamp_counter();
- clocksource_set_clock(&clocksource_mn10300, MN10300_TSCCLK);
- clocksource_register(&clocksource_mn10300);
+ clocksource_register_hz(&clocksource_mn10300, MN10300_TSCCLK);
return 0;
}
diff --git a/arch/mn10300/kernel/internal.h b/arch/mn10300/kernel/internal.h
index 6a064ab5af0..3d43d4dd023 100644
--- a/arch/mn10300/kernel/internal.h
+++ b/arch/mn10300/kernel/internal.h
@@ -37,9 +37,6 @@ extern irqreturn_t local_timer_interrupt(void);
/*
* time.c
*/
-#ifdef CONFIG_CEVT_MN10300
-extern void clockevent_set_clock(struct clock_event_device *, unsigned int);
-#endif
#ifdef CONFIG_CSRC_MN10300
extern void clocksource_set_clock(struct clocksource *, unsigned int);
#endif
diff --git a/arch/mn10300/kernel/time.c b/arch/mn10300/kernel/time.c
index 611696df816..78f72080ca1 100644
--- a/arch/mn10300/kernel/time.c
+++ b/arch/mn10300/kernel/time.c
@@ -93,22 +93,6 @@ irqreturn_t local_timer_interrupt(void)
return IRQ_HANDLED;
}
-void __init clocksource_set_clock(struct clocksource *cs, unsigned int clock)
-{
- u64 temp;
- u32 shift;
-
- /* Find a shift value */
- for (shift = 32; shift > 0; shift--) {
- temp = (u64) NSEC_PER_SEC << shift;
- do_div(temp, clock);
- if ((temp >> 32) == 0)
- break;
- }
- cs->shift = shift;
- cs->mult = (u32) temp;
-}
-
void __cpuinit clockevent_set_clock(struct clock_event_device *cd,
unsigned int clock)
{