[patch 3/3] mn10300: Use clockevents_calc_mult_shift()

From: Thomas Gleixner
Date: Mon Jan 31 2011 - 08:20:51 EST


Use clockevents_calc_mult_shift() instead of the homebrewn function in
mn10300/kernel/time.c.

Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx>
Cc: Mark Salter <msalter@xxxxxxxxxx>
---
arch/mn10300/kernel/cevt-mn10300.c | 5 +++--
arch/mn10300/kernel/internal.h | 7 -------
arch/mn10300/kernel/time.c | 17 -----------------
3 files changed, 3 insertions(+), 26 deletions(-)

Index: linux-2.6/arch/mn10300/kernel/cevt-mn10300.c
===================================================================
--- linux-2.6.orig/arch/mn10300/kernel/cevt-mn10300.c
+++ linux-2.6/arch/mn10300/kernel/cevt-mn10300.c
@@ -89,9 +89,10 @@ int __init init_clockevents(void)
cd->name = "Timestamp";
cd->features = CLOCK_EVT_FEAT_ONESHOT;

- /* Calculate the min / max delta */
- clockevent_set_clock(cd, MN10300_JCCLK);
+ /* Calculate shift/mult. We want to spawn at least 1 second */
+ clockevents_calc_mult_shift(cd, MN10300_JCCLK, 1);

+ /* Calculate the min / max delta */
cd->max_delta_ns = clockevent_delta2ns(TMJCBR_MAX, cd);
cd->min_delta_ns = clockevent_delta2ns(100, cd);

Index: linux-2.6/arch/mn10300/kernel/internal.h
===================================================================
--- linux-2.6.orig/arch/mn10300/kernel/internal.h
+++ linux-2.6/arch/mn10300/kernel/internal.h
@@ -33,10 +33,3 @@ extern void mn10300_low_ipi_handler(void
* time.c
*/
extern irqreturn_t local_timer_interrupt(void);
-
-/*
- * time.c
- */
-#ifdef CONFIG_CSRC_MN10300
-extern void clocksource_set_clock(struct clocksource *, unsigned int);
-#endif
Index: linux-2.6/arch/mn10300/kernel/time.c
===================================================================
--- linux-2.6.orig/arch/mn10300/kernel/time.c
+++ linux-2.6/arch/mn10300/kernel/time.c
@@ -93,23 +93,6 @@ irqreturn_t local_timer_interrupt(void)
return IRQ_HANDLED;
}

-void __cpuinit clockevent_set_clock(struct clock_event_device *cd,
- unsigned int clock)
-{
- u64 temp;
- u32 shift;
-
- /* Find a shift value */
- for (shift = 32; shift > 0; shift--) {
- temp = (u64) clock << shift;
- do_div(temp, NSEC_PER_SEC);
- if ((temp >> 32) == 0)
- break;
- }
- cd->shift = shift;
- cd->mult = (u32) temp;
-}
-
/*
* initialise the various timers used by the main part of the kernel
*/


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/