Module: xenomai-3 Branch: master Commit: 60761e56949979e9ceee2ec58527a13d0df9ce5c URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=60761e56949979e9ceee2ec58527a13d0df9ce5c
Author: Philippe Gerum <r...@xenomai.org> Date: Tue Nov 4 19:32:59 2014 +0100 cobalt/kernel: fixups for kernel 3.16 --- kernel/cobalt/apc.c | 2 +- kernel/cobalt/include/asm-generic/xenomai/wrappers.h | 5 +++++ kernel/cobalt/posix/clock.c | 2 +- kernel/cobalt/posix/process.c | 8 ++++---- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/kernel/cobalt/apc.c b/kernel/cobalt/apc.c index 0956dbc..a3714da 100644 --- a/kernel/cobalt/apc.c +++ b/kernel/cobalt/apc.c @@ -153,7 +153,7 @@ void xnapc_free(int apc) { BUG_ON(apc < 0 || apc >= BITS_PER_LONG); clear_bit(apc, &xnarch_machdata.apc_map); - smp_mb__after_clear_bit(); + smp_mb__after_atomic(); } EXPORT_SYMBOL_GPL(xnapc_free); diff --git a/kernel/cobalt/include/asm-generic/xenomai/wrappers.h b/kernel/cobalt/include/asm-generic/xenomai/wrappers.h index ccebb48..efba9b0 100644 --- a/kernel/cobalt/include/asm-generic/xenomai/wrappers.h +++ b/kernel/cobalt/include/asm-generic/xenomai/wrappers.h @@ -48,4 +48,9 @@ #define get_current_uuid() from_kuid_munged(current_user_ns(), current_uid()) #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,16,0) +#define smp_mb__before_atomic() smp_mb() +#define smp_mb__after_atomic() smp_mb() +#endif + #endif /* _COBALT_ASM_GENERIC_WRAPPERS_H */ diff --git a/kernel/cobalt/posix/clock.c b/kernel/cobalt/posix/clock.c index 48de8e8..8c0f9c9 100644 --- a/kernel/cobalt/posix/clock.c +++ b/kernel/cobalt/posix/clock.c @@ -344,7 +344,7 @@ void cobalt_clock_deregister(struct xnclock *clock) { trace_cobalt_clock_deregister(clock->name, clock->id); clear_bit(clock->id, cobalt_clock_extids); - smp_mb__after_clear_bit(); + smp_mb__after_atomic(); external_clocks[clock->id] = NULL; xnclock_deregister(clock); } diff --git a/kernel/cobalt/posix/process.c b/kernel/cobalt/posix/process.c index 46e2f66..39f4e26 100644 --- a/kernel/cobalt/posix/process.c +++ b/kernel/cobalt/posix/process.c @@ -976,17 +976,17 @@ static inline void init_hostrt(void) { } static inline void lock_timers(void) { - smp_mb__before_atomic_inc(); + smp_mb__before_atomic(); atomic_inc(&nkclklk); - smp_mb__after_atomic_inc(); + smp_mb__after_atomic(); } static inline void unlock_timers(void) { XENO_BUGON(COBALT, atomic_read(&nkclklk) == 0); - smp_mb__before_atomic_dec(); + smp_mb__before_atomic(); atomic_dec(&nkclklk); - smp_mb__after_atomic_dec(); + smp_mb__after_atomic(); } static int handle_taskexit_event(struct task_struct *p) /* p == current */ _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git