make adsl work with v3.8
Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 36016
This commit is contained in:
parent
511a25b734
commit
7db53fc00f
1 changed files with 152 additions and 0 deletions
152
package/platform/lantiq/ltq-adsl/patches/130-linux3.8.patch
Normal file
152
package/platform/lantiq/ltq-adsl/patches/130-linux3.8.patch
Normal file
|
@ -0,0 +1,152 @@
|
|||
Index: drv_dsl_cpe_api-3.24.4.4/src/common/drv_dsl_cpe_os_linux.c
|
||||
===================================================================
|
||||
--- drv_dsl_cpe_api-3.24.4.4.orig/src/common/drv_dsl_cpe_os_linux.c 2013-03-14 11:44:50.318326078 +0100
|
||||
+++ drv_dsl_cpe_api-3.24.4.4/src/common/drv_dsl_cpe_os_linux.c 2013-03-14 11:46:08.562329425 +0100
|
||||
@@ -11,6 +11,7 @@
|
||||
#ifdef __LINUX__
|
||||
|
||||
#define DSL_INTERN
|
||||
+#include <linux/kthread.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
@@ -40,7 +41,7 @@
|
||||
static DSL_int_t DSL_DRV_Ioctls(DSL_DRV_inode_t * pINode, DSL_DRV_file_t * pFile,
|
||||
DSL_uint_t nCommand, unsigned long nArg);
|
||||
#else
|
||||
-static DSL_int_t DSL_DRV_Ioctls(DSL_DRV_file_t * pFile,
|
||||
+static long DSL_DRV_Ioctls(DSL_DRV_file_t * pFile,
|
||||
DSL_uint_t nCommand, unsigned long nArg);
|
||||
#endif
|
||||
static int DSL_DRV_Open(DSL_DRV_inode_t * ino, DSL_DRV_file_t * fil);
|
||||
@@ -184,7 +185,7 @@
|
||||
DSL_uint_t nCommand,
|
||||
unsigned long nArg)
|
||||
#else
|
||||
-static DSL_int_t DSL_DRV_Ioctls(
|
||||
+static long DSL_DRV_Ioctls(
|
||||
DSL_DRV_file_t * pFile,
|
||||
DSL_uint_t nCommand,
|
||||
unsigned long nArg)
|
||||
@@ -521,9 +522,9 @@
|
||||
- IFX_SUCCESS on success
|
||||
- IFX_ERROR on error
|
||||
*/
|
||||
-DSL_DRV_STATIC DSL_int32_t DSL_DRV_KernelThreadStartup(
|
||||
- DSL_DRV_ThreadCtrl_t *pThrCntrl)
|
||||
+static int DSL_DRV_KernelThreadStartup(void *data)
|
||||
{
|
||||
+ DSL_DRV_ThreadCtrl_t *pThrCntrl = (DSL_DRV_ThreadCtrl_t*) data;
|
||||
DSL_int32_t retVal = -1;
|
||||
#ifndef _lint
|
||||
|
||||
@@ -546,30 +547,6 @@
|
||||
(DSL_NULL, "ENTER - Kernel Thread Startup <%s>" DSL_DRV_CRLF,
|
||||
pThrCntrl->thrParams.pName));
|
||||
|
||||
- /* do LINUX specific setup */
|
||||
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0))
|
||||
- daemonize();
|
||||
- reparent_to_init();
|
||||
-
|
||||
- /* lock the kernel. A new kernel thread starts without
|
||||
- the big kernel lock, regardless of the lock state
|
||||
- of the creator (the lock level is *not* inheritated)
|
||||
- */
|
||||
- lock_kernel();
|
||||
-
|
||||
- /* Don't care about any signals. */
|
||||
- siginitsetinv(¤t->blocked, 0);
|
||||
-
|
||||
- /* set name of this process */
|
||||
- strcpy(kthread->comm, pThrCntrl->thrParams.pName);
|
||||
-
|
||||
- /* let others run */
|
||||
- unlock_kernel();
|
||||
-#else
|
||||
- daemonize(pThrCntrl->thrParams.pName);
|
||||
-
|
||||
-#endif
|
||||
-
|
||||
/*DSL_DRV_ThreadPriorityModify(pThrCntrl->nPriority);*/
|
||||
|
||||
pThrCntrl->thrParams.bRunning = 1;
|
||||
@@ -629,7 +606,7 @@
|
||||
if (DSL_DRV_THREAD_INIT_VALID(pThrCntrl) == DSL_FALSE)
|
||||
{
|
||||
/* set thread function arguments */
|
||||
- strcpy(pThrCntrl->thrParams.pName, pName);
|
||||
+ snprintf(pThrCntrl->thrParams.pName, DSL_DRV_THREAD_NAME_LEN, "adsl - %s", pName);
|
||||
pThrCntrl->nPriority = nPriority;
|
||||
pThrCntrl->thrParams.nArg1 = nArg1;
|
||||
pThrCntrl->thrParams.nArg2 = nArg2;
|
||||
@@ -639,9 +616,7 @@
|
||||
init_completion(&pThrCntrl->thrCompletion);
|
||||
|
||||
/* start kernel thread via the wrapper function */
|
||||
- pThrCntrl->pid = kernel_thread( (DSL_DRV_KERNEL_THREAD_StartRoutine)DSL_DRV_KernelThreadStartup,
|
||||
- (void *)pThrCntrl,
|
||||
- DSL_DRV_DRV_THREAD_OPTIONS);
|
||||
+ pThrCntrl->pid = kthread_run(DSL_DRV_KernelThreadStartup, (void *)pThrCntrl, pThrCntrl->thrParams.pName);
|
||||
|
||||
pThrCntrl->bValid = DSL_TRUE;
|
||||
|
||||
@@ -1064,12 +1039,12 @@
|
||||
#endif
|
||||
|
||||
/* Entry point of driver */
|
||||
-static int __devinit ltq_adsl_probe(struct platform_device *pdev)
|
||||
+static int ltq_adsl_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct class *dsl_class;
|
||||
DSL_int_t i;
|
||||
|
||||
- printk(DSL_DRV_CRLF DSL_DRV_CRLF "Infineon CPE API Driver version: %s" DSL_DRV_CRLF,
|
||||
+ printk("Infineon CPE API Driver version: %s" DSL_DRV_CRLF,
|
||||
&(dsl_cpe_api_version[4]));
|
||||
|
||||
DSL_DRV_MemSet( ifxDevices, 0, sizeof(DSL_devCtx_t) * DSL_DRV_MAX_DEVICE_NUMBER );
|
||||
@@ -1118,7 +1093,7 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int __devexit ltq_adsl_remove(struct platform_device *pdev)
|
||||
+static int ltq_adsl_remove(struct platform_device *pdev)
|
||||
{
|
||||
printk("Module will be unloaded"DSL_DRV_CRLF);
|
||||
|
||||
@@ -1163,7 +1138,7 @@
|
||||
|
||||
static struct platform_driver ltq_adsl_driver = {
|
||||
.probe = ltq_adsl_probe,
|
||||
- .remove = __devexit_p(ltq_adsl_remove),
|
||||
+ .remove = ltq_adsl_remove,
|
||||
.driver = {
|
||||
.name = "adsl",
|
||||
.owner = THIS_MODULE,
|
||||
Index: drv_dsl_cpe_api-3.24.4.4/src/include/drv_dsl_cpe_os_lint_map.h
|
||||
===================================================================
|
||||
--- drv_dsl_cpe_api-3.24.4.4.orig/src/include/drv_dsl_cpe_os_lint_map.h 2009-02-24 21:44:54.000000000 +0100
|
||||
+++ drv_dsl_cpe_api-3.24.4.4/src/include/drv_dsl_cpe_os_lint_map.h 2013-03-14 11:44:50.330326079 +0100
|
||||
@@ -247,7 +247,7 @@
|
||||
DSL_DRV_ThreadFunction_t pThrFct;
|
||||
|
||||
/** Kernel thread process ID */
|
||||
- DSL_int32_t pid;
|
||||
+ struct task_struct *pid;
|
||||
|
||||
/** requested kernel thread priority */
|
||||
DSL_int32_t nPriority;
|
||||
Index: drv_dsl_cpe_api-3.24.4.4/src/include/drv_dsl_cpe_os_linux.h
|
||||
===================================================================
|
||||
--- drv_dsl_cpe_api-3.24.4.4.orig/src/include/drv_dsl_cpe_os_linux.h 2013-03-14 11:44:50.298326077 +0100
|
||||
+++ drv_dsl_cpe_api-3.24.4.4/src/include/drv_dsl_cpe_os_linux.h 2013-03-14 11:44:50.330326079 +0100
|
||||
@@ -288,7 +288,7 @@
|
||||
DSL_DRV_ThreadFunction_t pThrFct;
|
||||
|
||||
/** Kernel thread process ID */
|
||||
- DSL_int32_t pid;
|
||||
+ struct task_struct *pid;
|
||||
|
||||
/** requested kernel thread priority */
|
||||
DSL_int32_t nPriority;
|
Loading…
Reference in a new issue