.. | .. |
---|
48 | 48 | dev->state_use_accessors = state; |
---|
49 | 49 | } |
---|
50 | 50 | |
---|
| 51 | +static inline bool tick_check_is_proxy(struct clock_event_device *dev) |
---|
| 52 | +{ |
---|
| 53 | + if (!irqs_pipelined()) |
---|
| 54 | + return false; |
---|
| 55 | + |
---|
| 56 | + return dev && dev->features & CLOCK_EVT_FEAT_PROXY; |
---|
| 57 | +} |
---|
| 58 | + |
---|
51 | 59 | extern void clockevents_shutdown(struct clock_event_device *dev); |
---|
52 | 60 | extern void clockevents_exchange_device(struct clock_event_device *old, |
---|
53 | 61 | struct clock_event_device *new); |
---|
54 | | -extern void clockevents_switch_state(struct clock_event_device *dev, |
---|
55 | | - enum clock_event_state state); |
---|
56 | 62 | extern int clockevents_program_event(struct clock_event_device *dev, |
---|
57 | 63 | ktime_t expires, bool force); |
---|
58 | 64 | extern void clockevents_handle_noop(struct clock_event_device *dev); |
---|
59 | 65 | extern int __clockevents_update_freq(struct clock_event_device *dev, u32 freq); |
---|
| 66 | +#ifdef CONFIG_IRQ_PIPELINE |
---|
| 67 | +int clockevents_register_proxy(struct clock_proxy_device *dev); |
---|
| 68 | +extern void clockevents_unregister_proxy(struct clock_proxy_device *dev); |
---|
| 69 | +int tick_setup_proxy(struct clock_proxy_device *dev); |
---|
| 70 | +#endif |
---|
60 | 71 | extern ssize_t sysfs_get_uname(const char *buf, char *dst, size_t cnt); |
---|
61 | 72 | |
---|
62 | 73 | /* Broadcasting support */ |
---|