[MIPS] Clocksource: Only install r4k counter as clocksource if present.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
Ralf Baechle 2008-03-12 13:58:10 +00:00
parent 127f166861
commit 69e634f1e2
2 changed files with 9 additions and 3 deletions

View File

@ -22,12 +22,17 @@ static struct clocksource clocksource_mips = {
.flags = CLOCK_SOURCE_IS_CONTINUOUS, .flags = CLOCK_SOURCE_IS_CONTINUOUS,
}; };
void __init init_mips_clocksource(void) int __init init_mips_clocksource(void)
{ {
if (!cpu_has_counter || !mips_hpt_frequency)
return -ENXIO;
/* Calclate a somewhat reasonable rating value */ /* Calclate a somewhat reasonable rating value */
clocksource_mips.rating = 200 + mips_hpt_frequency / 10000000; clocksource_mips.rating = 200 + mips_hpt_frequency / 10000000;
clocksource_set_clock(&clocksource_mips, mips_hpt_frequency); clocksource_set_clock(&clocksource_mips, mips_hpt_frequency);
clocksource_register(&clocksource_mips); clocksource_register(&clocksource_mips);
return 0;
} }

View File

@ -64,10 +64,11 @@ static inline int mips_clockevent_init(void)
* Initialize the count register as a clocksource * Initialize the count register as a clocksource
*/ */
#ifdef CONFIG_CEVT_R4K #ifdef CONFIG_CEVT_R4K
extern void init_mips_clocksource(void); extern int init_mips_clocksource(void);
#else #else
static inline void init_mips_clocksource(void) static inline int init_mips_clocksource(void)
{ {
return 0;
} }
#endif #endif