diff options
Diffstat (limited to 'package/ltq-tapi/patches/001-portability.patch')
| -rw-r--r-- | package/ltq-tapi/patches/001-portability.patch | 94 | 
1 files changed, 94 insertions, 0 deletions
diff --git a/package/ltq-tapi/patches/001-portability.patch b/package/ltq-tapi/patches/001-portability.patch new file mode 100644 index 000000000..3e6b9cf82 --- /dev/null +++ b/package/ltq-tapi/patches/001-portability.patch @@ -0,0 +1,94 @@ +--- 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 +@@ -55,7 +55,7 @@ +    #include <linux/sched.h> +    #undef   CONFIG_DEVFS_FS +    #ifndef UTS_RELEASE +-      #include "linux/utsrelease.h" ++      #include <utsrelease.h> +    #endif /* UTC_RELEASE */ + #else +    #include <linux/tqueue.h> +--- 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 +@@ -55,12 +56,11 @@ +    #include <linux/sched.h> +    #undef   CONFIG_DEVFS_FS +    #ifndef UTS_RELEASE +-      #include <utsrelease.h> ++      #include <generated/utsrelease.h> +    #endif /* UTC_RELEASE */ + #else +    #include <linux/tqueue.h> +    #include <linux/sched.h> +-   #include <linux/smp_lock.h>         /* lock_kernel() */ + #endif /* LINUX_2_6 */ +  + #include "drv_tapi.h" +@@ -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);  | 
