diff -urN sangam_atm-D7.03.01.00.orig/cppi_cpaal5.c sangam_atm-D7.03.01.00/cppi_cpaal5.c
---- sangam_atm-D7.03.01.00.orig/cppi_cpaal5.c 2005-04-08 10:22:04.000000000 +0200
-+++ sangam_atm-D7.03.01.00/cppi_cpaal5.c 2008-01-05 03:11:03.000000000 +0100
+--- sangam_atm-D7.03.01.00.orig/cppi_cpaal5.c 2008-03-11 02:11:02.000000000 +0100
++++ sangam_atm-D7.03.01.00/cppi_cpaal5.c 2008-03-11 02:12:00.000000000 +0100
@@ -352,7 +352,7 @@
{
/* malloc failed, add this RCB to Needs Buffer List */
if(HalDev->NeedsCount < MAX_NEEDS) /* +MJH 030410 */
{ /* +MJH 030410 */
diff -urN sangam_atm-D7.03.01.00.orig/dsl_hal_api.c sangam_atm-D7.03.01.00/dsl_hal_api.c
---- sangam_atm-D7.03.01.00.orig/dsl_hal_api.c 2007-03-07 04:13:06.000000000 +0100
-+++ sangam_atm-D7.03.01.00/dsl_hal_api.c 2008-01-05 03:11:03.000000000 +0100
+--- sangam_atm-D7.03.01.00.orig/dsl_hal_api.c 2008-03-11 02:11:02.000000000 +0100
++++ sangam_atm-D7.03.01.00/dsl_hal_api.c 2008-03-11 02:12:00.000000000 +0100
@@ -254,15 +254,15 @@
* of phyEnableDisableWord & phyControlWord to avoid changing API struct
* which may cause change required to application data structure.
// UR8_MERGE_START CQ11054 Jack Zhang
static unsigned int highprecision_selected = 0; //By default we use low precision for backward compt.
diff -urN sangam_atm-D7.03.01.00.orig/dsl_hal_support.c sangam_atm-D7.03.01.00/dsl_hal_support.c
---- sangam_atm-D7.03.01.00.orig/dsl_hal_support.c 2007-05-18 09:47:33.000000000 +0200
-+++ sangam_atm-D7.03.01.00/dsl_hal_support.c 2008-01-05 03:11:03.000000000 +0100
+--- sangam_atm-D7.03.01.00.orig/dsl_hal_support.c 2008-03-11 02:11:02.000000000 +0100
++++ sangam_atm-D7.03.01.00/dsl_hal_support.c 2008-03-11 02:12:00.000000000 +0100
@@ -140,9 +140,9 @@
* oamFeature are overriden
// UR8_MERGE_END CQ10774 Ram
#define NUM_READ_RETRIES 3
static unsigned int dslhal_support_adsl2ByteSwap32(unsigned int in32Bits);
diff -urN sangam_atm-D7.03.01.00.orig/dsl_hal_support.h sangam_atm-D7.03.01.00/dsl_hal_support.h
---- sangam_atm-D7.03.01.00.orig/dsl_hal_support.h 2005-11-11 09:07:04.000000000 +0100
-+++ sangam_atm-D7.03.01.00/dsl_hal_support.h 2008-01-05 03:11:03.000000000 +0100
+--- sangam_atm-D7.03.01.00.orig/dsl_hal_support.h 2008-03-11 02:11:02.000000000 +0100
++++ sangam_atm-D7.03.01.00/dsl_hal_support.h 2008-03-11 02:12:00.000000000 +0100
@@ -49,7 +49,7 @@
* 04Nov05 0.11.00 CPH Fixed T1413 mode got Zero DS/US rate when DSL_BIT_TMODE is set.
*******************************************************************************/
#define virtual2Physical(a) (((int)a)&~0xe0000000)
/* External Function Prototype Declarations */
diff -urN sangam_atm-D7.03.01.00.orig/Makefile sangam_atm-D7.03.01.00/Makefile
---- sangam_atm-D7.03.01.00.orig/Makefile 2005-06-01 05:46:28.000000000 +0200
-+++ sangam_atm-D7.03.01.00/Makefile 2008-01-05 03:11:03.000000000 +0100
+--- sangam_atm-D7.03.01.00.orig/Makefile 2008-03-11 02:11:02.000000000 +0100
++++ sangam_atm-D7.03.01.00/Makefile 2008-03-11 02:12:00.000000000 +0100
@@ -1,18 +1,9 @@
-# File: drivers/atm/ti_evm3/Makefile
#
+obj-$(CONFIG_SANGAM_ATM) := tiatm.o
+tiatm-objs += cpsar.o aal5sar.o tn7sar.o tn7atm.o tn7dsl.o dsl_hal_api.o dsl_hal_support.o
diff -urN sangam_atm-D7.03.01.00.orig/tn7atm.c sangam_atm-D7.03.01.00/tn7atm.c
---- sangam_atm-D7.03.01.00.orig/tn7atm.c 2007-05-18 09:45:50.000000000 +0200
-+++ sangam_atm-D7.03.01.00/tn7atm.c 2008-01-05 03:11:03.000000000 +0100
+--- sangam_atm-D7.03.01.00.orig/tn7atm.c 2008-03-11 02:11:02.000000000 +0100
++++ sangam_atm-D7.03.01.00/tn7atm.c 2008-03-11 02:12:00.000000000 +0100
@@ -61,7 +61,6 @@
* UR8_MERGE_END CQ11057*
*********************************************************************************************/
* Function: int tn7atm_sar_irq(void)
*
* Description: tnetd73xx SAR interrupt.
-@@ -704,8 +656,8 @@
+@@ -693,7 +645,7 @@
+ * Register SAR interrupt
+ */
+ priv->sar_irq = LNXINTNUM (ATM_SAR_INT); /* Interrupt line # */
+- if (request_irq (priv->sar_irq, tn7atm_sar_irq, SA_INTERRUPT, "SAR ", dev))
++ if (request_irq (priv->sar_irq, tn7atm_sar_irq, IRQF_DISABLED, "SAR ", dev))
+ printk ("Could not register tn7atm_sar_irq\n");
+
+ /*
+@@ -704,14 +656,14 @@
{
def_sar_inter_pace = os_atoi (ptr);
}
/*
* Reigster Receive interrupt A
+ */
+ priv->dsl_irq = LNXINTNUM (ATM_DSL_INT); /* Interrupt line # */
+- if (request_irq (priv->dsl_irq, tn7atm_dsl_irq, SA_INTERRUPT, "DSL ", dev))
++ if (request_irq (priv->dsl_irq, tn7atm_dsl_irq, IRQF_DISABLED, "DSL ", dev))
+ printk ("Could not register tn7atm_dsl_irq\n");
+
+ /***** VRB Tasklet Mode ****/
@@ -875,11 +827,15 @@
#define ATM_VBR_RT 5
#endif
module_exit (tn7atm_exit);
-#endif /* MODULE */
diff -urN sangam_atm-D7.03.01.00.orig/tn7atm.h sangam_atm-D7.03.01.00/tn7atm.h
---- sangam_atm-D7.03.01.00.orig/tn7atm.h 2006-04-05 07:33:06.000000000 +0200
-+++ sangam_atm-D7.03.01.00/tn7atm.h 2008-01-05 03:11:03.000000000 +0100
+--- sangam_atm-D7.03.01.00.orig/tn7atm.h 2008-03-11 02:11:02.000000000 +0100
++++ sangam_atm-D7.03.01.00/tn7atm.h 2008-03-11 02:12:00.000000000 +0100
@@ -19,7 +19,8 @@
//#include "mips_support.h"
#include <linux/list.h>
#ifdef CONFIG_MODVERSIONS
#include <linux/modversions.h>
diff -urN sangam_atm-D7.03.01.00.orig/tn7dsl.c sangam_atm-D7.03.01.00/tn7dsl.c
---- sangam_atm-D7.03.01.00.orig/tn7dsl.c 2007-01-04 09:04:14.000000000 +0100
-+++ sangam_atm-D7.03.01.00/tn7dsl.c 2008-01-05 03:11:03.000000000 +0100
+--- sangam_atm-D7.03.01.00.orig/tn7dsl.c 2008-03-11 02:11:02.000000000 +0100
++++ sangam_atm-D7.03.01.00/tn7dsl.c 2008-03-11 02:12:41.000000000 +0100
@@ -94,7 +94,6 @@
* 1/02/07 JZ CQ11054: Data Precision and Range Changes for TR-069 Conformance
* UR8_MERGE_END CQ11054*
/* Modules specific header files */
#include "tn7atm.h"
#include "tn7api.h"
+@@ -173,7 +176,7 @@
+ static struct led_funcs ledreg[2];
+ #endif
+
+-#define DEV_DSLMOD 1
++#define DEV_DSLMOD CTL_UNNUMBERED
+ #define MAX_STR_SIZE 256
+ #define DSL_MOD_SIZE 256
+
+@@ -299,7 +302,7 @@
+ static volatile int bshutdown;
+ static char info[MAX_STR_SIZE];
+ /* Used for DSL Polling enable */
+-static DECLARE_MUTEX_LOCKED (adsl_sem_overlay);
++static struct semaphore adsl_sem_overlay;
+
+ //kthread_t overlay_thread;
+ /* end of module wide declars */
@@ -323,6 +326,14 @@
#define gDot1(a) ((a>0)?(a%10):((-a)%10))
// UR8_MERGE_END CQ11054*
}
int shim_osLoadDebugFWImage(unsigned char *ptr)
-@@ -3442,7 +3393,7 @@
+@@ -3064,6 +3015,7 @@
+ int high_precision_selected = 0;
+ // UR8_MERGE_END CQ11054*
+
++ sema_init(&adsl_sem_overlay, 0);
+ /*
+ * start dsl
+ */
+@@ -3442,7 +3394,7 @@
*/
if(write)
{
switch (ctl->ctl_name)
{
-@@ -3528,7 +3479,7 @@
+@@ -3528,14 +3480,14 @@
else
{
len += sprintf(info+len, mod_req);
}
return ret;
}
-@@ -3558,8 +3509,7 @@
+
+
+ ctl_table dslmod_table[] = {
+- {DEV_DSLMOD, "dslmod", info, DSL_MOD_SIZE, 0644, NULL, &dslmod_sysctl}
++ {DEV_DSLMOD, "dslmod", info, DSL_MOD_SIZE, 0644, NULL, NULL, &dslmod_sysctl, &sysctl_string}
+ ,
+ {0}
+ };
+@@ -3558,8 +3510,7 @@
if (initialized == 1)
return;
/*
* set the defaults
+@@ -4821,4 +4772,4 @@
+ }
+ #endif //NO_ADV_STATS
+ #endif //TR69_PMD_IN
+-// * UR8_MERGE_END CQ11057 *
+\ Nessun a capo alla fine del file
++// * UR8_MERGE_END CQ11057 *
diff -urN sangam_atm-D7.03.01.00.orig/tn7sar.c sangam_atm-D7.03.01.00/tn7sar.c
---- sangam_atm-D7.03.01.00.orig/tn7sar.c 2007-05-18 09:46:30.000000000 +0200
-+++ sangam_atm-D7.03.01.00/tn7sar.c 2008-01-05 03:11:03.000000000 +0100
+--- sangam_atm-D7.03.01.00.orig/tn7sar.c 2008-03-11 02:11:02.000000000 +0100
++++ sangam_atm-D7.03.01.00/tn7sar.c 2008-03-11 02:12:00.000000000 +0100
@@ -42,7 +42,6 @@
* UR8_MERGE_END CQ10700
*******************************************************************************/