aboutsummaryrefslogtreecommitdiffstats
path: root/package/ifx-tapi/patches/001-portability.patch
blob: 925ba99714976b76803497448286602fb57c1f98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -149,7 +149,7 @@ if KERNEL_2_6
 drv_tapi_OBJS = "$(subst .c,.o, $(drv_tapi_SOURCES))"
 
 drv_tapi.ko: $(drv_tapi_SOURCES) $(EXTRA_DIST)
-	@echo -e "Making Linux 2.6.x kernel object"
+	@echo "Making Linux 2.6.x kernel object"
 	@for f in $(drv_tapi_SOURCES) ; do \
 		if test ! -e $(PWD)/$$f; then \
 			echo "  LN      $$f" ; \
@@ -157,10 +157,10 @@ drv_tapi.ko: $(drv_tapi_SOURCES) $(EXTRA
 			ln -s @abs_srcdir@/$$f $(PWD)/$$f; \
 		fi; \
 	done;
-	@echo -e "# drv_tapi: Generated to build Linux 2.6.x kernel object" > $(PWD)/Kbuild
-	@echo -e "obj-m := $(subst .ko,.o,$@)"			>> $(PWD)/Kbuild
-	@echo -e "$(subst .ko,,$@)-y := $(drv_tapi_OBJS)"	>> $(PWD)/Kbuild
-	@echo -e "EXTRA_CFLAGS := -DHAVE_CONFIG_H  $(CFLAGS) $(drv_tapi_CFLAGS) $(INCLUDES)"	>> $(PWD)/Kbuild
+	@echo "# drv_tapi: Generated to build Linux 2.6.x kernel object" > $(PWD)/Kbuild
+	@echo "obj-m := $(subst .ko,.o,$@)"			>> $(PWD)/Kbuild
+	@echo "$(subst .ko,,$@)-y := $(drv_tapi_OBJS)"	>> $(PWD)/Kbuild
+	@echo "EXTRA_CFLAGS := -DHAVE_CONFIG_H  $(CFLAGS) $(drv_tapi_CFLAGS) $(INCLUDES)"	>> $(PWD)/Kbuild
 	$(MAKE) ARCH=@KERNEL_ARCH@ -C @KERNEL_BUILD_PATH@ O=@KERNEL_BUILD_PATH@ M=$(PWD) modules
 
 clean-generic:
--- a/configure.in
+++ b/configure.in
@@ -128,7 +128,7 @@ dnl Set kernel build path
 AC_ARG_ENABLE(kernelbuild,
         AS_HELP_STRING(--enable-kernelbuild=x,Set the target kernel build path),
         [
-                if test -r $enableval/include/linux/autoconf.h; then
+                if test -e $enableval/include/linux/autoconf.h  -o -e $enableval/include/generated/autoconf.h; then
                         AC_SUBST([KERNEL_BUILD_PATH],[$enableval])
                 else
                         AC_MSG_ERROR([The kernel build directory is not valid or not configured!])
--- a/src/drv_tapi_linux.h
+++ b/src/drv_tapi_linux.h
@@ -24,6 +24,7 @@
 #include <linux/version.h>
 #include <linux/interrupt.h>           /* in_interrupt() */
 #include <linux/delay.h>               /* mdelay - udelay */
+#include <linux/workqueue.h>           /* work_struct */
 #include <asm/poll.h>                  /* POLLIN, POLLOUT */
 
 #include "ifx_types.h"                 /* ifx type definitions */
--- a/src/drv_tapi_linux.c
+++ b/src/drv_tapi_linux.c
@@ -47,6 +47,7 @@
 #include <linux/errno.h>
 #include <asm/uaccess.h>               /* copy_from_user(), ... */
 #include <asm/byteorder.h>
+#include <linux/smp_lock.h>         /* lock_kernel() */
 #include <asm/io.h>
 
 #ifdef LINUX_2_6
@@ -3600,7 +3600,11 @@ IFX_void_t TAPI_OS_ThreadKill(IFXOS_Thre
             flag and released after the down() call. */
          lock_kernel();
          mb();
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
          kill_proc(pThrCntrl->tid, SIGKILL, 1);
+#else
+         kill_pid(find_vpid(pThrCntrl->tid), SIGKILL, 1);
+#endif
          /* release the big kernel lock */
          unlock_kernel();
          wait_for_completion (&pThrCntrl->thrCompletion);