Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc7daf33 authored by Thomas Gleixner's avatar Thomas Gleixner Committed by David Howells
Browse files

MN10300: Use clockevents_calc_mult_shift()



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

Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Acked-by: default avatarJohn Stultz <johnstul@us.ibm.com>
Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
Cc: Mark Salter <msalter@redhat.com>
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
parent 817890ba
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -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);

+0 −7
Original line number Diff line number Diff line
@@ -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
+0 −17
Original line number Diff line number Diff line
@@ -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
 */