--- sangam-atm-1.0.orig/tn7sar.c	2007-05-18 09:46:30.000000000 +0200
+++ sangam-atm-1.0/tn7sar.c	2009-12-17 19:10:27.628421613 +0100
@@ -42,7 +42,6 @@
  * UR8_MERGE_END CQ10700
  *******************************************************************************/
 
-#include <linux/config.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/init.h>
@@ -50,12 +49,19 @@
 #include <linux/delay.h>
 #include <linux/spinlock.h>
 #include <linux/smp_lock.h>
-#include <asm/io.h>
-#include <asm/mips-boards/prom.h>
 #include <linux/proc_fs.h>
 #include <linux/string.h>
 #include <linux/ctype.h>
+#include <linux/version.h>
 
+#include <asm/io.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)
+#include <asm/ar7/ar7.h>
+#include <asm/ar7/prom.h>
+#else
+#include <asm/mach-ar7/ar7.h>
+#include <asm/mach-ar7/prom.h>
+#endif
 
 #define _CPHAL_AAL5
 #define _CPHAL_SAR
@@ -74,6 +80,8 @@ typedef void OS_SETUP;
 /* PDSP Firmware files */
 #include "tnetd7300_sar_firm.h"
 
+extern int mp_oam_lb_timeout;
+extern int mp_autopvc_enable;
 
 enum
 {
@@ -103,10 +111,10 @@ enum
 
 #define RESERVED_OAM_CHANNEL              15
 
-#define AAL5_PARM "id=aal5, base = 0x03000000, offset = 0, int_line=15, ch0=[RxBufSize=1522; RxNumBuffers = 32; RxServiceMax = 50; TxServiceMax=50; TxNumBuffers=32; CpcsUU=0x5aa5; TxVc_CellRate=0x3000; TxVc_AtmHeader=0x00000640]"
-#define SAR_PARM "id=sar,base = 0x03000000, reset_bit = 9, offset = 0; UniNni = 0, PdspEnable = 1"
+#define CH0_PARM "RxBufSize=1522, RxNumBuffers=32, RxServiceMax=50, TxServiceMax=50, TxNumBuffers=32, CpcsUU=0x5aa5, TxVc_CellRate=0x3000, TxVc_AtmHeader=0x00000640"
+#define AAL5_PARM "id=aal5, base=0x03000000, offset=0, int_line=15, ch0=[" CH0_PARM "]"
+#define SAR_PARM "id=sar, base=0x03000000, reset_bit=9, offset=0; UniNni=0, PdspEnable=1, Debug=0xFFFFFFFF"
 #define RESET_PARM "id=ResetControl, base=0xA8611600"
-#define CH0_PARM "RxBufSize=1522, RxNumBuffers = 32, RxServiceMax = 50, TxServiceMax=50, TxNumBuffers=32, CpcsUU=0x5aa5, TxVc_CellRate=0x3000, TxVc_AtmHeader=0x00000640"
 
 #define MAX_PVC_TABLE_ENTRY 16
 
@@ -817,9 +825,9 @@ int tn7sar_setup_oam_channel(Tn7AtmPriva
   pHalDev  = (HAL_DEVICE *)priv->pSarHalDev;
 
   pauto_pvc = prom_getenv("autopvc_enable");
-  if(pauto_pvc)  //CQ10273
+  if(pauto_pvc || mp_autopvc_enable != -1)  //CQ10273
   {
-    auto_pvc =tn7sar_strtoul(pauto_pvc, NULL, 10);
+    auto_pvc = mp_autopvc_enable == -1 ? tn7sar_strtoul(pauto_pvc, NULL, 10) : mp_autopvc_enable;
   }
 
   memset(&chInfo, 0xff, sizeof(chInfo));
@@ -985,9 +993,9 @@ int tn7sar_init(struct atm_dev *dev, Tn7
 
   /* read in oam lb timeout value */
   pLbTimeout = prom_getenv("oam_lb_timeout");
-  if(pLbTimeout)
+  if(pLbTimeout || mp_oam_lb_timeout != -1)
   {
-    lbTimeout =tn7sar_strtoul(pLbTimeout, NULL, 10);
+    lbTimeout = mp_oam_lb_timeout == -1 ? tn7sar_strtoul(pLbTimeout, NULL, 10) : mp_oam_lb_timeout;
     oamLbTimeout = lbTimeout;
     pHalFunc->Control(pHalDev,"OamLbTimeout", "Set", &lbTimeout);
   }