From 2f529f9b558ca1c1bd74be7437a84e4711743404 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Fri, 01 Nov 2024 02:11:33 +0000 Subject: [PATCH] add xenomai --- kernel/kernel/time/tick-internal.h | 15 +++++++++++++-- 1 files changed, 13 insertions(+), 2 deletions(-) diff --git a/kernel/kernel/time/tick-internal.h b/kernel/kernel/time/tick-internal.h index ab9cb68..1fc4bfc 100644 --- a/kernel/kernel/time/tick-internal.h +++ b/kernel/kernel/time/tick-internal.h @@ -48,15 +48,26 @@ dev->state_use_accessors = state; } +static inline bool tick_check_is_proxy(struct clock_event_device *dev) +{ + if (!irqs_pipelined()) + return false; + + return dev && dev->features & CLOCK_EVT_FEAT_PROXY; +} + extern void clockevents_shutdown(struct clock_event_device *dev); extern void clockevents_exchange_device(struct clock_event_device *old, struct clock_event_device *new); -extern void clockevents_switch_state(struct clock_event_device *dev, - enum clock_event_state state); extern int clockevents_program_event(struct clock_event_device *dev, ktime_t expires, bool force); extern void clockevents_handle_noop(struct clock_event_device *dev); extern int __clockevents_update_freq(struct clock_event_device *dev, u32 freq); +#ifdef CONFIG_IRQ_PIPELINE +int clockevents_register_proxy(struct clock_proxy_device *dev); +extern void clockevents_unregister_proxy(struct clock_proxy_device *dev); +int tick_setup_proxy(struct clock_proxy_device *dev); +#endif extern ssize_t sysfs_get_uname(const char *buf, char *dst, size_t cnt); /* Broadcasting support */ -- Gitblit v1.6.2