mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 07:22:33 +00:00
95 lines
3.6 KiB
Diff
95 lines
3.6 KiB
Diff
|
--- 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);
|