sparc64: Use clock{source,events}_calc_mult_shift().

Signed-off-by: David S. Miller <davem@davemloft.net>

+2 -22
+2 -22
arch/sparc/kernel/time_64.c
··· 774 774 static struct clocksource clocksource_tick = { 775 775 .rating = 100, 776 776 .mask = CLOCKSOURCE_MASK(64), 777 - .shift = 16, 778 777 .flags = CLOCK_SOURCE_IS_CONTINUOUS, 779 778 }; 780 - 781 - static void __init setup_clockevent_multiplier(unsigned long hz) 782 - { 783 - unsigned long mult, shift = 32; 784 - 785 - while (1) { 786 - mult = div_sc(hz, NSEC_PER_SEC, shift); 787 - if (mult && (mult >> 32UL) == 0UL) 788 - break; 789 - 790 - shift--; 791 - } 792 - 793 - sparc64_clockevent.shift = shift; 794 - sparc64_clockevent.mult = mult; 795 - } 796 779 797 780 static unsigned long tb_ticks_per_usec __read_mostly; 798 781 ··· 811 828 clocksource_hz2mult(freq, SPARC64_NSEC_PER_CYC_SHIFT); 812 829 813 830 clocksource_tick.name = tick_ops->name; 814 - clocksource_tick.mult = 815 - clocksource_hz2mult(freq, 816 - clocksource_tick.shift); 831 + clocksource_calc_mult_shift(&clocksource_tick, freq, 4); 817 832 clocksource_tick.read = clocksource_tick_read; 818 833 819 834 printk("clocksource: mult[%x] shift[%d]\n", ··· 820 839 clocksource_register(&clocksource_tick); 821 840 822 841 sparc64_clockevent.name = tick_ops->name; 823 - 824 - setup_clockevent_multiplier(freq); 842 + clockevents_calc_mult_shift(&sparc64_clockevent, freq, 4); 825 843 826 844 sparc64_clockevent.max_delta_ns = 827 845 clockevent_delta2ns(0x7fffffffffffffffUL, &sparc64_clockevent);