diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2007-11-24 17:33:28 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-11-26 12:26:14 -0500 |
commit | 940f6b48a130e0a33cb8bd397dd0e277166470ad (patch) | |
tree | 03bd36fcb9b5c8d77f5de2930ff32d770f5cdf4e /arch/mips/kernel/time.c | |
parent | 5aa85c9fc49a6ce44dc10a42e2011bbde9dc445a (diff) |
[MIPS] Only build r4k clocksource for systems that work ok with it.
In particular as-is it's not suited for multicore and mutiprocessors
systems where there is on guarantee that the counter are synchronized
or running from the same clock at all. This broke Sibyte and probably
others since the "[MIPS] Handle R4000/R4400 mfc0 from count register."
commit.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel/time.c')
-rw-r--r-- | arch/mips/kernel/time.c | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/arch/mips/kernel/time.c b/arch/mips/kernel/time.c index d7d52efff51f..52075426c373 100644 --- a/arch/mips/kernel/time.c +++ b/arch/mips/kernel/time.c | |||
@@ -50,14 +50,6 @@ int update_persistent_clock(struct timespec now) | |||
50 | return rtc_mips_set_mmss(now.tv_sec); | 50 | return rtc_mips_set_mmss(now.tv_sec); |
51 | } | 51 | } |
52 | 52 | ||
53 | /* | ||
54 | * High precision timer functions for a R4k-compatible timer. | ||
55 | */ | ||
56 | static cycle_t c0_hpt_read(void) | ||
57 | { | ||
58 | return read_c0_count(); | ||
59 | } | ||
60 | |||
61 | int (*mips_timer_state)(void); | 53 | int (*mips_timer_state)(void); |
62 | 54 | ||
63 | int null_perf_irq(void) | 55 | int null_perf_irq(void) |
@@ -84,13 +76,6 @@ EXPORT_SYMBOL(perf_irq); | |||
84 | 76 | ||
85 | unsigned int mips_hpt_frequency; | 77 | unsigned int mips_hpt_frequency; |
86 | 78 | ||
87 | static struct clocksource clocksource_mips = { | ||
88 | .name = "MIPS", | ||
89 | .read = c0_hpt_read, | ||
90 | .mask = CLOCKSOURCE_MASK(32), | ||
91 | .flags = CLOCK_SOURCE_IS_CONTINUOUS, | ||
92 | }; | ||
93 | |||
94 | void __init clocksource_set_clock(struct clocksource *cs, unsigned int clock) | 79 | void __init clocksource_set_clock(struct clocksource *cs, unsigned int clock) |
95 | { | 80 | { |
96 | u64 temp; | 81 | u64 temp; |
@@ -124,16 +109,6 @@ void __cpuinit clockevent_set_clock(struct clock_event_device *cd, | |||
124 | cd->mult = (u32) temp; | 109 | cd->mult = (u32) temp; |
125 | } | 110 | } |
126 | 111 | ||
127 | static void __init init_mips_clocksource(void) | ||
128 | { | ||
129 | /* Calclate a somewhat reasonable rating value */ | ||
130 | clocksource_mips.rating = 200 + mips_hpt_frequency / 10000000; | ||
131 | |||
132 | clocksource_set_clock(&clocksource_mips, mips_hpt_frequency); | ||
133 | |||
134 | clocksource_register(&clocksource_mips); | ||
135 | } | ||
136 | |||
137 | void __init __weak plat_time_init(void) | 112 | void __init __weak plat_time_init(void) |
138 | { | 113 | { |
139 | } | 114 | } |