diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-01-12 12:59:05 +0000 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-01-12 12:59:05 +0000 |
commit | 163849ea9b4c5d50fbd324692461983d18faadad (patch) | |
tree | 7176a18fea53560eb4092aa103d94a266ab4e60d /include/linux/clockchips.h | |
parent | 2138301e1687bd4f22aa2b4df4829b6ffdae19bc (diff) | |
parent | 5ee518ecbcb5934e284ea51a19a939c891f5f7ea (diff) |
Merge branch 'for-2.6.33' into for-2.6.34
Diffstat (limited to 'include/linux/clockchips.h')
-rw-r--r-- | include/linux/clockchips.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/include/linux/clockchips.h b/include/linux/clockchips.h index 3a1dbba4d3ae..0cf725bdd2a1 100644 --- a/include/linux/clockchips.h +++ b/include/linux/clockchips.h @@ -77,10 +77,10 @@ enum clock_event_nofitiers { struct clock_event_device { const char *name; unsigned int features; - unsigned long max_delta_ns; - unsigned long min_delta_ns; - unsigned long mult; - int shift; + u64 max_delta_ns; + u64 min_delta_ns; + u32 mult; + u32 shift; int rating; int irq; const struct cpumask *cpumask; @@ -116,8 +116,8 @@ static inline unsigned long div_sc(unsigned long ticks, unsigned long nsec, } /* Clock event layer functions */ -extern unsigned long clockevent_delta2ns(unsigned long latch, - struct clock_event_device *evt); +extern u64 clockevent_delta2ns(unsigned long latch, + struct clock_event_device *evt); extern void clockevents_register_device(struct clock_event_device *dev); extern void clockevents_exchange_device(struct clock_event_device *old, @@ -130,6 +130,13 @@ extern int clockevents_program_event(struct clock_event_device *dev, extern void clockevents_handle_noop(struct clock_event_device *dev); +static inline void +clockevents_calc_mult_shift(struct clock_event_device *ce, u32 freq, u32 minsec) +{ + return clocks_calc_mult_shift(&ce->mult, &ce->shift, NSEC_PER_SEC, + freq, minsec); +} + #ifdef CONFIG_GENERIC_CLOCKEVENTS extern void clockevents_notify(unsigned long reason, void *arg); #else |