summaryrefslogtreecommitdiff
path: root/package/kernel/lantiq/ltq-vdsl
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2015-09-14 20:09:22 +0000
committerJohn Crispin <john@openwrt.org>2015-09-14 20:09:22 +0000
commit2c1d56af50ab19c545218b1e66a5e3100f7da166 (patch)
tree2ff5fb6e51afc1d1970d9c215e18e3166fe4a073 /package/kernel/lantiq/ltq-vdsl
parent4ef319fad23b566a226dc3edcf1f3e50c43032e2 (diff)
downloadmtk-20170518-2c1d56af50ab19c545218b1e66a5e3100f7da166.zip
mtk-20170518-2c1d56af50ab19c545218b1e66a5e3100f7da166.tar.gz
mtk-20170518-2c1d56af50ab19c545218b1e66a5e3100f7da166.tar.bz2
lantiq: Update to the latest DSL driver / application versions
Thanks to Sylwester Petela for testing my patch (successfully on an ADSL connection) and for pointing out some configuration mistakes. Others (including me) have also successfully tested this extensively on VDSL connections. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> SVN-Revision: 46920
Diffstat (limited to 'package/kernel/lantiq/ltq-vdsl')
-rw-r--r--package/kernel/lantiq/ltq-vdsl/Makefile12
-rw-r--r--package/kernel/lantiq/ltq-vdsl/patches/100-compat.patch156
2 files changed, 51 insertions, 117 deletions
diff --git a/package/kernel/lantiq/ltq-vdsl/Makefile b/package/kernel/lantiq/ltq-vdsl/Makefile
index d14d4bc..617d9bf 100644
--- a/package/kernel/lantiq/ltq-vdsl/Makefile
+++ b/package/kernel/lantiq/ltq-vdsl/Makefile
@@ -7,14 +7,14 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=ltq-vdsl-vr9
-PKG_VERSION:=4.11.4
+PKG_VERSION:=4.16.2.4
PKG_RELEASE:=1
PKG_BASE_NAME:=drv_dsl_cpe_api_vrx
PKG_SOURCE:=$(PKG_BASE_NAME)-$(PKG_VERSION).tar.gz
-PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/drv_dsl_cpe_api-$(PKG_VERSION)
-PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources/
-PKG_MD5SUM:=b6d9c1e3c5db1bfcd6e81bb2f582cadb
+PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_BASE_NAME)-$(PKG_VERSION)
+PKG_SOURCE_URL:=https://github.com/xdarklight/$(PKG_BASE_NAME)/archive/v$(PKG_VERSION)
+PKG_MD5SUM:=0a3e35d199eb8936f3e8f61bb074223a
PKG_USE_MIPS16:=0
@@ -48,16 +48,18 @@ CONFIGURE_ARGS += --enable-kernel-include="$(LINUX_DIR)/include" \
--with-lines-per-device="1" \
--with-channels-per-line="1" \
--enable-vrx \
+ --enable-vrx-device=vr9 \
--enable-ifxos \
--enable-ifxos-include="-I$(STAGING_DIR)/usr/include/ifxos" \
--enable-driver-include="-I$(STAGING_DIR)/usr/include/vdsl" \
- --enable-add-drv-cflags="-DMODULE -DINCLUDE_DSL_ATM_PTM_INTERFACE_SUPPORT -DDSL_DEBUG_DISABLE" \
+ --enable-add-drv-cflags="-DMODULE -DINCLUDE_DSL_ATM_PTM_INTERFACE_SUPPORT" \
--enable-adsl-led=no \
--enable-adsl-mib=no \
--enable-dsl-ceoc=no \
--enable-dsl-bonding=no \
--enable-linux-26 \
--enable-kernelbuild="$(LINUX_DIR)" \
+ --enable-debug-prints=no \
KERNEL_ARCH=mips
CONFIGURE_ARGS += --enable-model=full
diff --git a/package/kernel/lantiq/ltq-vdsl/patches/100-compat.patch b/package/kernel/lantiq/ltq-vdsl/patches/100-compat.patch
index 5abe4b2..e68a6f0 100644
--- a/package/kernel/lantiq/ltq-vdsl/patches/100-compat.patch
+++ b/package/kernel/lantiq/ltq-vdsl/patches/100-compat.patch
@@ -1,51 +1,17 @@
-Index: drv_dsl_cpe_api-4.11.4/src/include/drv_dsl_cpe_os_linux.h
-===================================================================
---- drv_dsl_cpe_api-4.11.4.orig/src/include/drv_dsl_cpe_os_linux.h 2011-10-26 00:35:29.000000000 +0200
-+++ drv_dsl_cpe_api-4.11.4/src/include/drv_dsl_cpe_os_linux.h 2012-11-28 23:05:38.766342592 +0100
-@@ -17,7 +17,7 @@
- #endif
-
- #include <asm/ioctl.h>
--#include <linux/autoconf.h>
-+#include <generated/autoconf.h>
- #include <linux/module.h>
- #include <linux/kernel.h>
- #include <linux/init.h>
-@@ -28,7 +28,7 @@
- #include <linux/sched.h>
-
- #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,17))
-- #include <linux/utsrelease.h>
-+ #include <generated/utsrelease.h>
- #endif
-
- #include <linux/types.h>
-@@ -40,7 +40,6 @@
- #include <linux/delay.h>
- #include <linux/poll.h>
- #include <asm/uaccess.h>
--#include <linux/smp_lock.h>
-
- #ifdef INCLUDE_DSL_CPE_API_IFXOS_SUPPORT
- /** IFXOS includes*/
-Index: drv_dsl_cpe_api-4.11.4/src/Makefile.in
-===================================================================
---- drv_dsl_cpe_api-4.11.4.orig/src/Makefile.in 2012-03-05 15:24:31.000000000 +0100
-+++ drv_dsl_cpe_api-4.11.4/src/Makefile.in 2012-11-28 23:05:38.770342592 +0100
-@@ -72,7 +72,7 @@
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -63,7 +63,7 @@ POST_UNINSTALL = :
# the headerfile of linux kernels 2.6.x contain to much arithmetic
# with void pointers (which is allowed for gcc!)
--@KERNEL_2_6_FALSE@am__append_8 = -Wpointer-arith
-+@KERNEL_2_6_FALSE@am__append_8 =
+-@KERNEL_2_6_FALSE@am__append_6 = -Wpointer-arith
++@KERNEL_2_6_FALSE@am__append_6 =
subdir = src
- DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-Index: drv_dsl_cpe_api-4.11.4/src/common/drv_dsl_cpe_os_linux.c
-===================================================================
---- drv_dsl_cpe_api-4.11.4.orig/src/common/drv_dsl_cpe_os_linux.c 2011-10-26 00:35:28.000000000 +0200
-+++ drv_dsl_cpe_api-4.11.4/src/common/drv_dsl_cpe_os_linux.c 2012-11-28 23:05:38.770342592 +0100
-@@ -12,6 +12,7 @@
+ DIST_COMMON = $(drv_dsl_cpe_api_include_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in
+--- a/src/common/drv_dsl_cpe_os_linux.c
++++ b/src/common/drv_dsl_cpe_os_linux.c
+@@ -11,6 +11,7 @@
#define DSL_INTERN
@@ -53,37 +19,21 @@ Index: drv_dsl_cpe_api-4.11.4/src/common/drv_dsl_cpe_os_linux.c
#include "drv_dsl_cpe_api.h"
#include "drv_dsl_cpe_api_ioctl.h"
-@@ -34,7 +35,7 @@
- static DSL_ssize_t DSL_DRV_Write(DSL_DRV_file_t *pFile, const DSL_char_t * pBuf,
- DSL_DRV_size_t nSize, DSL_DRV_offset_t * pLoff);
-
--static DSL_int_t DSL_DRV_Ioctls(DSL_DRV_inode_t * pINode, DSL_DRV_file_t * pFile,
-+static long DSL_DRV_Ioctls(DSL_DRV_file_t * pFile,
- DSL_uint_t nCommand, unsigned long nArg);
-
- static int DSL_DRV_Open(DSL_DRV_inode_t * ino, DSL_DRV_file_t * fil);
-@@ -71,7 +72,7 @@
- open: DSL_DRV_Open,
- release: DSL_DRV_Release,
- write: DSL_DRV_Write,
-- ioctl: DSL_DRV_Ioctls,
-+ unlocked_ioctl: DSL_DRV_Ioctls,
- poll: DSL_DRV_Poll
- };
- #else
-@@ -172,7 +173,7 @@
- \return Success or failure.
- \ingroup Internal
- */
--static DSL_int_t DSL_DRV_Ioctls(DSL_DRV_inode_t * pINode,
-+static long DSL_DRV_Ioctls(
- DSL_DRV_file_t * pFile,
- DSL_uint_t nCommand,
- unsigned long nArg)
-@@ -222,14 +223,7 @@
- }
+@@ -238,24 +239,10 @@ static DSL_long_t DSL_DRV_Ioctls(DSL_DRV
}
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
+- if (pFile->f_dentry != DSL_NULL)
+- {
+- pINode = pFile->f_dentry->d_inode;
+- }
+- else
+- {
+- pINode = DSL_NULL;
+- }
++ pINode = file_inode(pFile);
+ #endif
+
- if (pINode == DSL_NULL)
- {
- bIsInKernel = DSL_TRUE;
@@ -95,54 +45,36 @@ Index: drv_dsl_cpe_api-4.11.4/src/common/drv_dsl_cpe_os_linux.c
if ( (_IOC_TYPE(nCommand) == DSL_IOC_MAGIC_CPE_API) ||
(_IOC_TYPE(nCommand) == DSL_IOC_MAGIC_CPE_API_G997) ||
-@@ -1082,6 +1076,7 @@
+@@ -1102,6 +1089,9 @@ static void DSL_DRV_DebugInit(void)
+ return;
+ }
+
++static struct class *dsl_class;
++static dev_t dsl_devt;
++
+ /* Entry point of driver */
int __init DSL_ModuleInit(void)
{
- DSL_int_t i;
-+ static struct class *dsl_class;
-
- printk(DSL_DRV_CRLF DSL_DRV_CRLF "Lantiq CPE API Driver version: %s" DSL_DRV_CRLF,
- &(dsl_cpe_api_version[4]));
-@@ -1127,6 +1122,10 @@
+@@ -1140,6 +1130,10 @@ int __init DSL_ModuleInit(void)
DSL_DRV_DevNodeInit();
+ dsl_class = class_create(THIS_MODULE, "dsl_cpe_api0");
-+ device_create(dsl_class, NULL, MKDEV(DRV_DSL_CPE_API_DEV_MAJOR, 0), NULL, "dsl_cpe_api0");
-+
++ dsl_devt = MKDEV(DRV_DSL_CPE_API_DEV_MAJOR, 0);
++ device_create(dsl_class, NULL, dsl_devt, NULL, "dsl_cpe_api0");
+
return 0;
}
-Index: drv_dsl_cpe_api-4.11.4/src/device/drv_dsl_cpe_msg_vrx.c
-===================================================================
---- drv_dsl_cpe_api-4.11.4.orig/src/device/drv_dsl_cpe_msg_vrx.c 2012-03-05 11:25:21.000000000 +0100
-+++ drv_dsl_cpe_api-4.11.4/src/device/drv_dsl_cpe_msg_vrx.c 2012-11-28 23:06:46.418344288 +0100
-@@ -685,6 +685,7 @@
- DSL_ProfileType_t nProfile = DSL_PROFILE_LAST;
- DSL_G997_XTUSystemEnablingData_t data = {{0,0,0,0,0,0,0,0}};
-
-+ //printk("%s:%s[%d]\n", __FILE__, __func__, __LINE__);
- DSL_DEBUG( DSL_DBG_MSG,
- (pContext, SYS_DBG_MSG"DSL[%02d]: IN - DSL_DRV_VXX_SendMsgSelectedProfileVdsl2Get"
- DSL_DRV_CRLF, DSL_DEV_NUM(pContext)));
-@@ -985,8 +988,10 @@
-
- /* Check consistency of XTSE status setting - Only one bit should be set at
- a time */
-+ //printk("XTSE (%d) - ", DSL_G997_NUM_XTSE_OCTETS);
- for (i = 0, nBitCount = 0; i < DSL_G997_NUM_XTSE_OCTETS; i++)
- {
-+ //printk("%02X ", data.XTSE[i]);
- for (j = 0; j < 8; j++)
- {
- if ( ((data.XTSE[i] >> j) & 0x01) != 0)
-@@ -996,6 +1001,8 @@
- }
- }
+@@ -1147,6 +1141,11 @@ void __exit DSL_ModuleCleanup(void)
+ {
+ printk("Module will be unloaded"DSL_DRV_CRLF);
-+ //printk("\n");
++ device_destroy(dsl_class, dsl_devt);
++ dsl_devt = NULL;
++ class_destroy(dsl_class);
++ dsl_class = NULL;
+
- if (nBitCount > 1)
- {
- DSL_DEBUG( DSL_DBG_ERR,
+ unregister_chrdev(nMajorNum, DRV_DSL_CPE_API_DEV_NAME);
+
+ DSL_DRV_Cleanup();