Skip to content

Commit

Permalink
sparc64: Use clock{source,events}_calc_mult_shift().
Browse files Browse the repository at this point in the history
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Dec 11, 2009
1 parent e3f4e1c commit 6865b7f
Showing 1 changed file with 2 additions and 22 deletions.
24 changes: 2 additions & 22 deletions arch/sparc/kernel/time_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -774,26 +774,9 @@ void __devinit setup_sparc64_timer(void)
static struct clocksource clocksource_tick = {
.rating = 100,
.mask = CLOCKSOURCE_MASK(64),
.shift = 16,
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
};

static void __init setup_clockevent_multiplier(unsigned long hz)
{
unsigned long mult, shift = 32;

while (1) {
mult = div_sc(hz, NSEC_PER_SEC, shift);
if (mult && (mult >> 32UL) == 0UL)
break;

shift--;
}

sparc64_clockevent.shift = shift;
sparc64_clockevent.mult = mult;
}

static unsigned long tb_ticks_per_usec __read_mostly;

void __delay(unsigned long loops)
Expand Down Expand Up @@ -828,9 +811,7 @@ void __init time_init(void)
clocksource_hz2mult(freq, SPARC64_NSEC_PER_CYC_SHIFT);

clocksource_tick.name = tick_ops->name;
clocksource_tick.mult =
clocksource_hz2mult(freq,
clocksource_tick.shift);
clocksource_calc_mult_shift(&clocksource_tick, freq, 4);
clocksource_tick.read = clocksource_tick_read;

printk("clocksource: mult[%x] shift[%d]\n",
Expand All @@ -839,8 +820,7 @@ void __init time_init(void)
clocksource_register(&clocksource_tick);

sparc64_clockevent.name = tick_ops->name;

setup_clockevent_multiplier(freq);
clockevents_calc_mult_shift(&sparc64_clockevent, freq, 4);

sparc64_clockevent.max_delta_ns =
clockevent_delta2ns(0x7fffffffffffffffUL, &sparc64_clockevent);
Expand Down

0 comments on commit 6865b7f

Please sign in to comment.