Linus Walleij writes: > This moves the clocksource_set_clock() and clockevent_set_clock() > from the MIPS timer code into clockchips and clocksource where > it belongs. The patch was triggered by code posted by Mikael > Pettersson duplicating this code for the IOP ARM system. The > function signatures where altered slightly to fit into their > destination header files, unsigned int changed to u32 and inlined. > > Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx> > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Tested-by: Mikael Pettersson <mikpe@xxxxxxxx> > Reviewed-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> > --- > Changes v1->v2: > - Fixed Mikaels comments: spelling, terminology. > - Kept the functions inline: all uses and foreseen uses > are once per kernel and all are in __init or __cpuinit sections. > - Unable to break out common code - the code is not common and > implementing two execution paths will be more awkward. > - Hoping the tglx likes it anyway. Very minor spelling nits below. > --- a/include/linux/clockchips.h > +++ b/include/linux/clockchips.h > @@ -115,6 +115,28 @@ static inline unsigned long div_sc(unsigned long ticks, unsigned long nsec, > return (unsigned long) tmp; > } > > +/** > + * clockevent_set_clock - calculates an appropriate shift > + * and mult values for a clockevent given a can't have 'an' and a plural form, so s/an // > --- a/include/linux/clocksource.h > +++ b/include/linux/clocksource.h > @@ -257,6 +257,28 @@ static inline u32 clocksource_hz2mult(u32 hz, u32 shift_constant) > } > > /** > + * clocksource_set_clock - calculates an appropriate shift > + * and mult values for a clocksource given a ditto