diff options
| -rw-r--r-- | arch/mips/include/asm/time.h | 14 | ||||
| -rw-r--r-- | arch/mips/kernel/time.c | 33 |
2 files changed, 11 insertions, 36 deletions
diff --git a/arch/mips/include/asm/time.h b/arch/mips/include/asm/time.h index df6a430de5eb..c7f1bfef1574 100644 --- a/arch/mips/include/asm/time.h +++ b/arch/mips/include/asm/time.h | |||
| @@ -84,8 +84,16 @@ static inline int init_mips_clocksource(void) | |||
| 84 | #endif | 84 | #endif |
| 85 | } | 85 | } |
| 86 | 86 | ||
| 87 | extern void clocksource_set_clock(struct clocksource *cs, unsigned int clock); | 87 | static inline void clocksource_set_clock(struct clocksource *cs, |
| 88 | extern void clockevent_set_clock(struct clock_event_device *cd, | 88 | unsigned int clock) |
| 89 | unsigned int clock); | 89 | { |
| 90 | clocksource_calc_mult_shift(cs, clock, 4); | ||
| 91 | } | ||
| 92 | |||
| 93 | static inline void clockevent_set_clock(struct clock_event_device *cd, | ||
| 94 | unsigned int clock) | ||
| 95 | { | ||
| 96 | clockevents_calc_mult_shift(cd, clock, 4); | ||
| 97 | } | ||
| 90 | 98 | ||
| 91 | #endif /* _ASM_TIME_H */ | 99 | #endif /* _ASM_TIME_H */ |
diff --git a/arch/mips/kernel/time.c b/arch/mips/kernel/time.c index 1f467d534642..fb7497405510 100644 --- a/arch/mips/kernel/time.c +++ b/arch/mips/kernel/time.c | |||
| @@ -71,39 +71,6 @@ EXPORT_SYMBOL(perf_irq); | |||
| 71 | 71 | ||
| 72 | unsigned int mips_hpt_frequency; | 72 | unsigned int mips_hpt_frequency; |
| 73 | 73 | ||
| 74 | void __init clocksource_set_clock(struct clocksource *cs, unsigned int clock) | ||
| 75 | { | ||
| 76 | u64 temp; | ||
| 77 | u32 shift; | ||
| 78 | |||
| 79 | /* Find a shift value */ | ||
| 80 | for (shift = 32; shift > 0; shift--) { | ||
| 81 | temp = (u64) NSEC_PER_SEC << shift; | ||
| 82 | do_div(temp, clock); | ||
| 83 | if ((temp >> 32) == 0) | ||
| 84 | break; | ||
| 85 | } | ||
| 86 | cs->shift = shift; | ||
| 87 | cs->mult = (u32) temp; | ||
| 88 | } | ||
| 89 | |||
| 90 | void __cpuinit clockevent_set_clock(struct clock_event_device *cd, | ||
| 91 | unsigned int clock) | ||
| 92 | { | ||
| 93 | u64 temp; | ||
| 94 | u32 shift; | ||
| 95 | |||
| 96 | /* Find a shift value */ | ||
| 97 | for (shift = 32; shift > 0; shift--) { | ||
| 98 | temp = (u64) clock << shift; | ||
| 99 | do_div(temp, NSEC_PER_SEC); | ||
| 100 | if ((temp >> 32) == 0) | ||
| 101 | break; | ||
| 102 | } | ||
| 103 | cd->shift = shift; | ||
| 104 | cd->mult = (u32) temp; | ||
| 105 | } | ||
| 106 | |||
| 107 | /* | 74 | /* |
| 108 | * This function exists in order to cause an error due to a duplicate | 75 | * This function exists in order to cause an error due to a duplicate |
| 109 | * definition if platform code should have its own implementation. The hook | 76 | * definition if platform code should have its own implementation. The hook |
