diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2008-03-12 09:58:10 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2008-03-12 10:14:42 -0400 |
commit | 69e634f1e27c8e5b954ea4be2d05dd744cabc0bc (patch) | |
tree | 0736d911ddd810ab36470f6121b9a73343307ee4 | |
parent | 127f1668617ae638f90f113a32f956887acbb94a (diff) |
[MIPS] Clocksource: Only install r4k counter as clocksource if present.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | arch/mips/kernel/csrc-r4k.c | 7 | ||||
-rw-r--r-- | include/asm-mips/time.h | 5 |
2 files changed, 9 insertions, 3 deletions
diff --git a/arch/mips/kernel/csrc-r4k.c b/arch/mips/kernel/csrc-r4k.c index 0e2b5cd81f67..86e026f067bc 100644 --- a/arch/mips/kernel/csrc-r4k.c +++ b/arch/mips/kernel/csrc-r4k.c | |||
@@ -22,12 +22,17 @@ static struct clocksource clocksource_mips = { | |||
22 | .flags = CLOCK_SOURCE_IS_CONTINUOUS, | 22 | .flags = CLOCK_SOURCE_IS_CONTINUOUS, |
23 | }; | 23 | }; |
24 | 24 | ||
25 | void __init init_mips_clocksource(void) | 25 | int __init init_mips_clocksource(void) |
26 | { | 26 | { |
27 | if (!cpu_has_counter || !mips_hpt_frequency) | ||
28 | return -ENXIO; | ||
29 | |||
27 | /* Calclate a somewhat reasonable rating value */ | 30 | /* Calclate a somewhat reasonable rating value */ |
28 | clocksource_mips.rating = 200 + mips_hpt_frequency / 10000000; | 31 | clocksource_mips.rating = 200 + mips_hpt_frequency / 10000000; |
29 | 32 | ||
30 | clocksource_set_clock(&clocksource_mips, mips_hpt_frequency); | 33 | clocksource_set_clock(&clocksource_mips, mips_hpt_frequency); |
31 | 34 | ||
32 | clocksource_register(&clocksource_mips); | 35 | clocksource_register(&clocksource_mips); |
36 | |||
37 | return 0; | ||
33 | } | 38 | } |
diff --git a/include/asm-mips/time.h b/include/asm-mips/time.h index a8fd16e1981f..d3bd5c5aa2ec 100644 --- a/include/asm-mips/time.h +++ b/include/asm-mips/time.h | |||
@@ -64,10 +64,11 @@ static inline int mips_clockevent_init(void) | |||
64 | * Initialize the count register as a clocksource | 64 | * Initialize the count register as a clocksource |
65 | */ | 65 | */ |
66 | #ifdef CONFIG_CEVT_R4K | 66 | #ifdef CONFIG_CEVT_R4K |
67 | extern void init_mips_clocksource(void); | 67 | extern int init_mips_clocksource(void); |
68 | #else | 68 | #else |
69 | static inline void init_mips_clocksource(void) | 69 | static inline int init_mips_clocksource(void) |
70 | { | 70 | { |
71 | return 0; | ||
71 | } | 72 | } |
72 | #endif | 73 | #endif |
73 | 74 | ||