Staging: comedi: Work around malformed RTAI_VERSION_CODE.
authorIan Abbott <abbotti@mev.co.uk>
Tue, 14 Apr 2009 15:01:50 +0000 (11:01 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 19 Jun 2009 18:00:30 +0000 (11:00 -0700)
Signed-off-by: Frank Mori Hess <fmhess@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/comedi/drivers/comedi_rt_timer.c

index 8dbd0fde1f866c3cbaf3c9715c85172f613051cc..5d79c545ad750dbd240e7ebc203e4e50c95f5ef6 100644 (file)
@@ -108,6 +108,21 @@ static inline RTIME nano2count(long long ns)
 #ifdef CONFIG_COMEDI_RTAI
 #include <rtai.h>
 #include <rtai_sched.h>
+#include <rtai_version.h>
+
+/* RTAI_VERSION_CODE doesn't work for rtai-3.6-cv and other strange versions.
+ * These are characterized by CONFIG_RTAI_REVISION_LEVEL being defined as an
+ * empty macro and CONFIG_RTAI_VERSION_MINOR being defined as something like
+ * '6-cv' or '7-test1'.  The problem has been noted by the RTAI folks and they
+ * promise not to do it again. :-) Try and work around it here. */
+#if !(CONFIG_RTAI_REVISION_LEVEL + 0)
+#undef CONFIG_RTAI_REVISION_LEVEL
+#define CONFIG_RTAI_REVISION_LEVEL     0
+#define cv     0
+#define test1  0
+#define test2  0
+#define test3  0
+#endif
 
 #if RTAI_VERSION_CODE < RTAI_MANGLE_VERSION(3,3,0)
 #define comedi_rt_task_context_t       int
@@ -115,6 +130,12 @@ static inline RTIME nano2count(long long ns)
 #define comedi_rt_task_context_t       long
 #endif
 
+/* Finished checking RTAI_VERSION_CODE. */
+#undef cv
+#undef test1
+#undef test2
+#undef test3
+
 #endif
 
 /* This defines the fastest speed we will emulate.  Note that