make adsl work with v3.8
Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 36016
This commit is contained in:
		
							
								
								
									
										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;
 | 
			
		||||
		Reference in New Issue
	
	Block a user