Initial commit
This commit is contained in:
88
package/kernel/lantiq/ltq-tapi/Config.in
Normal file
88
package/kernel/lantiq/ltq-tapi/Config.in
Normal file
@@ -0,0 +1,88 @@
|
||||
config VOICE_CPE_TAPI_FAX
|
||||
bool "fax relay and modem support"
|
||||
depends on PACKAGE_kmod-ltq-tapi
|
||||
default n
|
||||
help
|
||||
Option to enable fax/modem support in TAPI.
|
||||
Note: Newer platforms as AR9 and VR9 support a T.38 fax relay stack
|
||||
in FW while older platforms like Danube or VINETIC-CPE require a
|
||||
separate SW stack executed as an application.
|
||||
|
||||
config VOICE_CPE_TAPI_CID
|
||||
bool "CID support"
|
||||
depends on PACKAGE_kmod-ltq-tapi
|
||||
default y
|
||||
help
|
||||
Option to enable Caller ID support.
|
||||
|
||||
config VOICE_CPE_TAPI_LT_GR909
|
||||
bool "Linetesting GR-909 support"
|
||||
depends on PACKAGE_kmod-ltq-tapi
|
||||
default y
|
||||
help
|
||||
Option to enable linetesting GR-909.
|
||||
|
||||
config VOICE_CPE_TAPI_DECT
|
||||
bool "DECT encoding for COSIC modem"
|
||||
depends on PACKAGE_kmod-ltq-tapi
|
||||
default n
|
||||
help
|
||||
Option to enable DECT encoding for COSIC modem.
|
||||
|
||||
config VOICE_CPE_TAPI_KPI
|
||||
bool "KPI (Kernel Packet Interface)"
|
||||
depends on PACKAGE_kmod-ltq-tapi
|
||||
default y
|
||||
help
|
||||
Option to enable the generic kernel level packet interface
|
||||
which allows accelerated packet transfer for various purposes.
|
||||
The most important example is the QOS option, which allows
|
||||
to redirect RTP packets directly into the IP stack.
|
||||
Other options relying on KPI are DECT and HDLC.
|
||||
|
||||
config VOICE_CPE_TAPI_QOS
|
||||
bool "QOS for accelerated RTP packet handling"
|
||||
depends on PACKAGE_kmod-ltq-tapi
|
||||
default y
|
||||
help
|
||||
Option to enable an accelerated RTP packet transfer inside
|
||||
the LINUX kernel space. This option requires the KPI2UDP
|
||||
packet, which actually provides the OS specific hooks in
|
||||
the IP stack.
|
||||
|
||||
config VOICE_CPE_TAPI_STATISTICS
|
||||
bool "TAPI statistics via /proc fs"
|
||||
depends on PACKAGE_kmod-ltq-tapi
|
||||
default y
|
||||
help
|
||||
Option to enable /proc fs statistics for packet counts etc.
|
||||
|
||||
config VOICE_CPE_TAPI_METERING
|
||||
bool "Metering (TTX) support"
|
||||
depends on PACKAGE_kmod-ltq-tapi
|
||||
default n
|
||||
help
|
||||
Option to enable metering (TTX) support.
|
||||
|
||||
config VOICE_CPE_TAPI_HDLC
|
||||
bool "PCM HDLC support, evaluation"
|
||||
depends on PACKAGE_kmod-ltq-tapi
|
||||
default n
|
||||
help
|
||||
Option to enable PCM HDLC framing inside the firmware, e.g. for
|
||||
ISDN D-Channel access.
|
||||
|
||||
config VOICE_CPE_TAPI_TRACES
|
||||
bool "enable driver traces"
|
||||
depends on PACKAGE_kmod-ltq-tapi
|
||||
default y
|
||||
help
|
||||
enable driver traces with different trace levels to be
|
||||
configured dynamically from the application or during insmod
|
||||
|
||||
config VOICE_CPE_TAPI_LINUX_HOTPLUG
|
||||
bool "enable driver Linux hotplug events"
|
||||
depends on PACKAGE_kmod-ltq-tapi
|
||||
default y
|
||||
help
|
||||
enable driver Linux hotplug events generation
|
||||
68
package/kernel/lantiq/ltq-tapi/Makefile
Normal file
68
package/kernel/lantiq/ltq-tapi/Makefile
Normal file
@@ -0,0 +1,68 @@
|
||||
#
|
||||
# Copyright (C) 2011 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=drv_tapi
|
||||
PKG_VERSION:=3.13.0
|
||||
PKG_RELEASE:=4
|
||||
|
||||
PKG_SOURCE:=drv_tapi-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
|
||||
PKG_HASH:=109374d52872716570fca3fef3b93c9a93159a804dfd42484b19152b825af5c0
|
||||
PKG_MAINTAINER:=John Crispin <john@phrozen.org>
|
||||
|
||||
PKG_ASLR_PIE:=0
|
||||
PKG_CHECK_FORMAT_SECURITY:=0
|
||||
PKG_FIXUP:=autoreconf
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define KernelPackage/ltq-tapi
|
||||
SUBMENU:=Voice over IP
|
||||
TITLE:=Lantiq TAPI subsystem
|
||||
URL:=http://www.lantiq.com/
|
||||
DEPENDS:=@(TARGET_lantiq_falcon||TARGET_lantiq_xway||TARGET_lantiq_xrx200) +kmod-ltq-ifxos
|
||||
FILES:=$(PKG_BUILD_DIR)/src/drv_tapi.ko
|
||||
AUTOLOAD:=$(call AutoLoad,20,drv_tapi)
|
||||
endef
|
||||
|
||||
define KernelPackage/ltq-tapi/description
|
||||
Voice Subsystem Telephony API High Level Driver
|
||||
endef
|
||||
|
||||
define KernelPackage/ltq-tapi/config
|
||||
source "$(SOURCE)/Config.in"
|
||||
endef
|
||||
|
||||
CONFIGURE_ARGS += \
|
||||
ARCH=$(LINUX_KARCH) \
|
||||
--enable-linux-26 \
|
||||
--enable-kernelbuild="$(LINUX_DIR)" \
|
||||
--enable-kernelincl="$(LINUX_DIR)/include" \
|
||||
--with-ifxos-incl=$(STAGING_DIR)/usr/include/ifxos \
|
||||
$(call autoconf_bool,CONFIG_IFX_DRV_TAPI_EVENT_LOGGER,el-debug) \
|
||||
$(call autoconf_bool,CONFIG_VOICE_CPE_TAPI_FAX,fax t38) \
|
||||
$(call autoconf_bool,CONFIG_VOICE_CPE_TAPI_CID,cid) \
|
||||
$(call autoconf_bool,CONFIG_VOICE_CPE_TAPI_DECT,dect) \
|
||||
$(call autoconf_bool,CONFIG_VOICE_CPE_TAPI_KPI,kpi) \
|
||||
$(call autoconf_bool,CONFIG_VOICE_CPE_TAPI_QOS,qos) \
|
||||
$(call autoconf_bool,CONFIG_VOICE_CPE_TAPI_LT_GR909,lt) \
|
||||
$(call autoconf_bool,CONFIG_VOICE_CPE_TAPI_STATISTICS,statistics) \
|
||||
$(call autoconf_bool,CONFIG_VOICE_CPE_TAPI_METERING,metering) \
|
||||
$(call autoconf_bool,CONFIG_VOICE_CPE_TAPI_HDLC,hdlc) \
|
||||
$(call autoconf_bool,CONFIG_VOICE_CPE_TAPI_TRACES,trace) \
|
||||
$(call autoconf_bool,CONFIG_VOICE_CPE_TAPI_LINUX_HOTPLUG,hotplug)
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include/drv_tapi
|
||||
$(CP) --dereference $(PKG_BUILD_DIR)/include/* $(1)/usr/include/drv_tapi
|
||||
(cd $(1)/usr/include/drv_tapi && ln -s . include && ln -s ../ifxos/ifx_types.h .)
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ltq-tapi))
|
||||
82
package/kernel/lantiq/ltq-tapi/patches/000-portability.patch
Normal file
82
package/kernel/lantiq/ltq-tapi/patches/000-portability.patch
Normal file
@@ -0,0 +1,82 @@
|
||||
--- 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);
|
||||
22
package/kernel/lantiq/ltq-tapi/patches/010-fix-compile.patch
Normal file
22
package/kernel/lantiq/ltq-tapi/patches/010-fix-compile.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
--- a/src/drv_tapi_linux.c
|
||||
+++ b/src/drv_tapi_linux.c
|
||||
@@ -54,6 +54,10 @@
|
||||
#include <linux/workqueue.h> /* LINUX 2.6 We need work_struct */
|
||||
#include <linux/device.h>
|
||||
#include <linux/sched.h>
|
||||
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0))
|
||||
+ #include <linux/sched/signal.h>
|
||||
+ #include <linux/sched/types.h>
|
||||
+#endif
|
||||
#undef CONFIG_DEVFS_FS
|
||||
#ifndef UTS_RELEASE
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33))
|
||||
@@ -184,7 +188,7 @@ MODULE_PARM_DESC(block_egress_tasklet, "
|
||||
MODULE_PARM_DESC(block_ingress_tasklet, "block the execution of the ingress tasklet, i.e. force to use the RT kernel thread");
|
||||
|
||||
/** The driver callbacks which will be registered with the kernel*/
|
||||
-static struct file_operations tapi_fops = {0};
|
||||
+static struct file_operations tapi_fops;
|
||||
|
||||
/* ============================= */
|
||||
/* Global function definition */
|
||||
@@ -0,0 +1,27 @@
|
||||
--- a/src/Makefile.am
|
||||
+++ b/src/Makefile.am
|
||||
@@ -122,13 +122,9 @@ endif
|
||||
|
||||
## flags for the driver
|
||||
if USE_MODULE
|
||||
-drv_tapi_CFLAGS = -DLINUX -D__KERNEL__ -DMODULE -Wno-format -DEXPORT_SYMTAB $(AM_CFLAGS)
|
||||
+drv_tapi_CFLAGS = -DLINUX -D__KERNEL__ -DMODULE -DEXPORT_SYMTAB $(AM_CFLAGS)
|
||||
else
|
||||
-drv_tapi_CFLAGS = -DLINUX -D__KERNEL__ -Wno-format -DEXPORT_SYMTAB $(AM_CFLAGS)
|
||||
-endif
|
||||
-
|
||||
-if KERNEL_2_6
|
||||
-drv_tapi_CFLAGS += -fno-common
|
||||
+drv_tapi_CFLAGS = -DLINUX -D__KERNEL__ -DEXPORT_SYMTAB $(AM_CFLAGS)
|
||||
endif
|
||||
|
||||
|
||||
@@ -165,7 +161,7 @@ drv_tapi.ko: $(drv_tapi_SOURCES) $(EXTRA
|
||||
@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
|
||||
+ @echo "EXTRA_CFLAGS := -DHAVE_CONFIG_H $(drv_tapi_CFLAGS) $(INCLUDES)" >> $(PWD)/Kbuild
|
||||
$(MAKE) ARCH=@KERNEL_ARCH@ -C @KERNEL_BUILD_PATH@ O=@KERNEL_BUILD_PATH@ M=$(PWD) modules
|
||||
|
||||
clean-generic:
|
||||
96
package/kernel/lantiq/ltq-tapi/patches/100-ifxmips.patch
Normal file
96
package/kernel/lantiq/ltq-tapi/patches/100-ifxmips.patch
Normal file
@@ -0,0 +1,96 @@
|
||||
--- a/src/drv_tapi_linux.c
|
||||
+++ b/src/drv_tapi_linux.c
|
||||
@@ -556,7 +556,7 @@ static ssize_t ifx_tapi_write (struct fi
|
||||
IFX_uint8_t *pData;
|
||||
IFX_size_t buf_size;
|
||||
#endif /* TAPI_PACKET */
|
||||
- IFX_ssize_t size = 0;
|
||||
+ ssize_t size = 0;
|
||||
|
||||
#ifdef TAPI_PACKET
|
||||
if (pTapiDev->bInitialized == IFX_FALSE)
|
||||
--- a/src/drv_tapi_osmap.h
|
||||
+++ b/src/drv_tapi_osmap.h
|
||||
@@ -17,39 +17,6 @@
|
||||
*/
|
||||
|
||||
#include "ifx_types.h" /* ifx type definitions */
|
||||
-
|
||||
-#ifndef HAVE_IFX_ULONG_T
|
||||
- #warning please update your ifx_types.h, using local definition of IFX_ulong_t
|
||||
- /* unsigned long type - valid for 32bit systems only */
|
||||
- typedef unsigned long IFX_ulong_t;
|
||||
- #define HAVE_IFX_ULONG_T
|
||||
-#endif /* HAVE_IFX_ULONG_T */
|
||||
-
|
||||
-#ifndef HAVE_IFX_LONG_T
|
||||
- #warning please update your ifx_types.h, using local definition of IFX_long_t
|
||||
- /* long type - valid for 32bit systems only */
|
||||
- typedef long IFX_long_t;
|
||||
- #define HAVE_IFX_LONG_T
|
||||
-#endif /* HAVE_IFX_LONG_T */
|
||||
-
|
||||
-#ifndef HAVE_IFX_INTPTR_T
|
||||
- #warning please update your ifx_types.h, using local definition of IFX_intptr_t
|
||||
- typedef IFX_long_t IFX_intptr_t;
|
||||
- #define HAVE_IFX_INTPTR_T
|
||||
-#endif /* HAVE_IFX_INTPTR_T */
|
||||
-
|
||||
-#ifndef HAVE_IFX_SIZE_T
|
||||
- #warning please update your ifx_types.h, using local definition of IFX_size_t
|
||||
- typedef IFX_ulong_t IFX_size_t;
|
||||
- #define HAVE_IFX_SIZE_T
|
||||
-#endif /* HAVE_IFX_SIZE_T */
|
||||
-
|
||||
-#ifndef HAVE_IFX_SSIZE_T
|
||||
- #warning please update your ifx_types.h, using local definition of IFX_ssize_t
|
||||
- typedef IFX_long_t IFX_ssize_t;
|
||||
- #define HAVE_IFX_SSIZE_T
|
||||
-#endif /* HAVE_IFX_SSIZE_T */
|
||||
-
|
||||
#include "ifxos_interrupt.h"
|
||||
#include "ifxos_memory_alloc.h"
|
||||
#include "ifxos_copy_user_space.h"
|
||||
--- a/include/drv_tapi_ll_interface.h
|
||||
+++ b/include/drv_tapi_ll_interface.h
|
||||
@@ -40,13 +40,6 @@
|
||||
#include "ifxos_select.h"
|
||||
#endif /* TAPI_PACKET */
|
||||
|
||||
-#ifndef HAVE_IFX_ULONG_T
|
||||
- #warning please update your ifx_types.h, using local definition of IFX_ulong_t
|
||||
- /* unsigned long type - valid for 32bit systems only */
|
||||
- typedef unsigned long IFX_ulong_t;
|
||||
- #define HAVE_IFX_ULONG_T
|
||||
-#endif /* HAVE_IFX_ULONG_T */
|
||||
-
|
||||
/* ============================= */
|
||||
/* Local Macros Definitions */
|
||||
/* ============================= */
|
||||
--- a/src/lib/lib_bufferpool/lib_bufferpool.c
|
||||
+++ b/src/lib/lib_bufferpool/lib_bufferpool.c
|
||||
@@ -85,24 +85,6 @@
|
||||
#include <stdlib.h>
|
||||
#endif /*VXWORKS*/
|
||||
|
||||
-
|
||||
-/* ============================= */
|
||||
-/* Extra type definitions */
|
||||
-/* ============================= */
|
||||
-#ifndef HAVE_IFX_ULONG_T
|
||||
- #warning please update your ifx_types.h, using local definition of IFX_ulong_t
|
||||
- /* unsigned long type - valid for 32bit systems only */
|
||||
- typedef unsigned long IFX_ulong_t;
|
||||
- #define HAVE_IFX_ULONG_T
|
||||
-#endif /* HAVE_IFX_ULONG_T */
|
||||
-
|
||||
-#ifndef HAVE_IFX_UINTPTR_T
|
||||
- #warning please update your ifx_types.h, using local definition of IFX_uintptr_t
|
||||
- typedef IFX_ulong_t IFX_uintptr_t;
|
||||
- #define HAVE_IFX_UINTPTR_T
|
||||
-#endif /* HAVE_IFX_UINTPTR_T */
|
||||
-
|
||||
-
|
||||
/* ============================= */
|
||||
/* Local Macros & Definitions */
|
||||
/* ============================= */
|
||||
108
package/kernel/lantiq/ltq-tapi/patches/200-linux-37.patch
Normal file
108
package/kernel/lantiq/ltq-tapi/patches/200-linux-37.patch
Normal file
@@ -0,0 +1,108 @@
|
||||
--- a/src/drv_tapi_linux.c
|
||||
+++ b/src/drv_tapi_linux.c
|
||||
@@ -47,7 +47,9 @@
|
||||
#include <linux/errno.h>
|
||||
#include <asm/uaccess.h> /* copy_from_user(), ... */
|
||||
#include <asm/byteorder.h>
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33))
|
||||
#include <linux/smp_lock.h> /* lock_kernel() */
|
||||
+#endif
|
||||
#include <asm/io.h>
|
||||
|
||||
#ifdef LINUX_2_6
|
||||
@@ -69,7 +71,9 @@
|
||||
#else
|
||||
#include <linux/tqueue.h>
|
||||
#include <linux/sched.h>
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33))
|
||||
#include <linux/smp_lock.h> /* lock_kernel() */
|
||||
+#endif
|
||||
#endif /* LINUX_2_6 */
|
||||
|
||||
#include "drv_tapi.h"
|
||||
@@ -137,8 +141,13 @@ static ssize_t ifx_tapi_write(struct fil
|
||||
size_t count, loff_t * ppos);
|
||||
static ssize_t ifx_tapi_read(struct file * filp, char *buf,
|
||||
size_t length, loff_t * ppos);
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36))
|
||||
static int ifx_tapi_ioctl(struct inode *inode, struct file *filp,
|
||||
unsigned int nCmd, unsigned long nArgument);
|
||||
+#else
|
||||
+static long ifx_tapi_ioctl(struct file *filp,
|
||||
+ unsigned int nCmd, unsigned long nArgument);
|
||||
+#endif
|
||||
static unsigned int ifx_tapi_poll (struct file *filp, poll_table *table);
|
||||
|
||||
#ifdef CONFIG_PROC_FS
|
||||
@@ -222,7 +231,11 @@ IFX_return_t TAPI_OS_RegisterLLDrv (IFX_
|
||||
IFX_char_t *pRegDrvName = IFX_NULL;
|
||||
IFX_int32_t ret = 0;
|
||||
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36))
|
||||
if (tapi_fops.ioctl == IFX_NULL)
|
||||
+#else
|
||||
+ if (tapi_fops.unlocked_ioctl == IFX_NULL)
|
||||
+#endif
|
||||
{
|
||||
#ifdef MODULE
|
||||
tapi_fops.owner = THIS_MODULE;
|
||||
@@ -230,7 +243,11 @@ IFX_return_t TAPI_OS_RegisterLLDrv (IFX_
|
||||
tapi_fops.read = ifx_tapi_read;
|
||||
tapi_fops.write = ifx_tapi_write;
|
||||
tapi_fops.poll = ifx_tapi_poll;
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36))
|
||||
tapi_fops.ioctl = ifx_tapi_ioctl;
|
||||
+#else
|
||||
+ tapi_fops.unlocked_ioctl = ifx_tapi_ioctl;
|
||||
+#endif
|
||||
tapi_fops.open = ifx_tapi_open;
|
||||
tapi_fops.release = ifx_tapi_release;
|
||||
}
|
||||
@@ -885,8 +902,13 @@ static IFX_uint32_t ifx_tapi_poll (struc
|
||||
- 0 and positive values - success
|
||||
- negative value - ioctl failed
|
||||
*/
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36))
|
||||
static int ifx_tapi_ioctl(struct inode *inode, struct file *filp,
|
||||
unsigned int nCmd, unsigned long nArg)
|
||||
+#else
|
||||
+static long ifx_tapi_ioctl(struct file *filp,
|
||||
+ unsigned int nCmd, unsigned long nArg)
|
||||
+#endif
|
||||
{
|
||||
TAPI_FD_PRIV_DATA_t *pTapiPriv;
|
||||
IFX_TAPI_ioctlCtx_t ctx;
|
||||
@@ -3725,7 +3747,9 @@ IFX_void_t TAPI_OS_ThreadKill(IFXOS_Thre
|
||||
kernel lock (lock_kernel()). The lock must be
|
||||
grabbed before changing the terminate
|
||||
flag and released after the down() call. */
|
||||
- lock_kernel();
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33)
|
||||
+ lock_kernel();
|
||||
+#endif
|
||||
mb();
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
|
||||
kill_proc(pThrCntrl->tid, SIGKILL, 1);
|
||||
@@ -3733,8 +3757,10 @@ IFX_void_t TAPI_OS_ThreadKill(IFXOS_Thre
|
||||
kill_pid(find_vpid(pThrCntrl->tid), SIGKILL, 1);
|
||||
#endif
|
||||
/* release the big kernel lock */
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33)
|
||||
unlock_kernel();
|
||||
- wait_for_completion (&pThrCntrl->thrCompletion);
|
||||
+#endif
|
||||
+ wait_for_completion (&pThrCntrl->thrCompletion);
|
||||
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23)
|
||||
/* Now we are sure the thread is in zombie state.
|
||||
--- a/src/lib/lib_fifo/lib_fifo.c
|
||||
+++ b/src/lib/lib_fifo/lib_fifo.c
|
||||
@@ -41,7 +41,7 @@
|
||||
#ifdef LINUX
|
||||
/* if linux/slab.h is not available, use the precessor linux/malloc.h */
|
||||
#include <linux/slab.h>
|
||||
-#elif VXWORKS
|
||||
+#elif defined(VXWORKS)
|
||||
#include <sys_drv_debug.h>
|
||||
#endif /* LINUX */
|
||||
|
||||
11
package/kernel/lantiq/ltq-tapi/patches/300-linux-310.patch
Normal file
11
package/kernel/lantiq/ltq-tapi/patches/300-linux-310.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/src/drv_tapi_linux.c
|
||||
+++ b/src/drv_tapi_linux.c
|
||||
@@ -97,6 +97,8 @@
|
||||
#include "drv_tapi_announcements.h"
|
||||
#endif /* TAPI_ANNOUNCEMENTS */
|
||||
|
||||
+#undef CONFIG_PROC_FS
|
||||
+
|
||||
#define TAPI_IOCTL_STACKSIZE 4000 /* allow some overhead 4 k */
|
||||
|
||||
/* ================================== */
|
||||
Reference in New Issue
Block a user