diff options
| author | David S. Miller <davem@davemloft.net> | 2009-12-11 12:26:12 +0300 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2009-12-11 12:26:12 +0300 |
| commit | e3f4e1cbc341bc2020241d8119bd078db3ec3b85 (patch) | |
| tree | 8b23624cc792f60d0bf86d787c3514cf0fb04418 /include/linux/clockchips.h | |
| parent | adfe67ddffbea51322b118896178bd71aaa4b4d8 (diff) | |
| parent | d71cb81af3817193bc605de061da0499934263a6 (diff) | |
| download | linux-e3f4e1cbc341bc2020241d8119bd078db3ec3b85.tar.xz | |
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
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 |
