[lantiq]
[openwrt.git] / package / ltq-tapi / patches / 200-linux-37.patch
diff --git a/package/ltq-tapi/patches/200-linux-37.patch b/package/ltq-tapi/patches/200-linux-37.patch
new file mode 100644 (file)
index 0000000..0eac62f
--- /dev/null
@@ -0,0 +1,65 @@
+--- a/src/drv_tapi_linux.c
++++ b/src/drv_tapi_linux.c
+@@ -146,8 +146,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
+@@ -231,7 +236,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;
+@@ -239,7 +248,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;
+    }
+@@ -894,8 +907,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;
+--- 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 */