| --- a/src/Makefile.am |
| +++ b/src/Makefile.am |
| @@ -154,7 +154,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" ; \ |
| @@ -162,10 +162,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 |
| @@ -55,7 +56,11 @@ |
| #include <linux/sched.h> |
| #undef CONFIG_DEVFS_FS |
| #ifndef UTS_RELEASE |
| - #include "linux/utsrelease.h" |
| +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33)) |
| +# include <linux/utsrelease.h> |
| +#else |
| +# include <generated/utsrelease.h> |
| +#endif |
| #endif /* UTC_RELEASE */ |
| #else |
| #include <linux/tqueue.h> |
| @@ -3718,7 +3723,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); |