[Xenomai-git] Philippe Gerum : cobalt/kernel: fixups for kernel 3.16

2015-02-12 Thread git repository hosting
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


[Xenomai-git] Philippe Gerum : cobalt/kernel: fixups for kernel 3.16

2014-11-04 Thread git repository hosting
Module: xenomai-3
Branch: next
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