fix .32 kernel, add support for .33 kernel
authorRalph Hempel <ralph.hempel@lantiq.com>
Tue, 27 Apr 2010 14:08:38 +0000 (14:08 +0000)
committerRalph Hempel <ralph.hempel@lantiq.com>
Tue, 27 Apr 2010 14:08:38 +0000 (14:08 +0000)
SVN-Revision: 21194

package/ifxmips-dsl-api/Makefile
package/ifxmips-dsl-api/patches-2.6.33/100-dsl_compat.patch [new file with mode: 0644]
package/ifxmips-dsl-api/patches-2.6.33/200-mei_compat.patch [new file with mode: 0644]
package/ifxmips-dsl-api/patches-2.6.33/300-atm_compat.patch [new file with mode: 0644]
package/ifxmips-dsl-api/patches-2.6.33/400-debug-output.patch [new file with mode: 0644]
package/ifxmips-dsl-api/patches-2.6.33/500-portability.patch [new file with mode: 0644]
package/ifxmips-dsl-api/patches/100-dsl_compat.patch
package/ifxmips-dsl-api/patches/500-portability.patch

index 9d20ce0b3a6a4daeac97b1b2c74689c74026a0d7..c9303a9a80f9793c59af69ed9b5c7ee60066070d 100644 (file)
@@ -17,6 +17,10 @@ PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/drv_dsl_cpe_api-$(PKG_VERSION)
 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources/
 PKG_MD5SUM:=c45bc531c1ed2ac80f68fb986b63bb87
 
+ifeq ($(DUMP),)
+  STAMP_CONFIGURED:=$(strip $(STAMP_CONFIGURED))_$(shell grep '^CONFIG_IFXMIPS_DSL_' $(TOPDIR)/.config | md5s)
+endif
+
 FW_BASE_NAME:=dsl_danube_firmware_adsl
 FW_A_VER:=02.04.04.00.00.01
 FW_B_VER:=02.04.01.07.00.02
@@ -25,6 +29,8 @@ FW_B_FILE_VER:=241702
 FW_A_MD5:=f717db3067a0049a26e233ab11238710
 FW_B_MD5:=349de7cd20368f4ac9b7e8322114a512
 
+PATCH_DIR ?= ./patches$(if $(wildcard ./patches-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER))
+
 include $(INCLUDE_DIR)/package.mk
 
 define KernelPackage/ifxmips-dsl-api
diff --git a/package/ifxmips-dsl-api/patches-2.6.33/100-dsl_compat.patch b/package/ifxmips-dsl-api/patches-2.6.33/100-dsl_compat.patch
new file mode 100644 (file)
index 0000000..30e4374
--- /dev/null
@@ -0,0 +1,73 @@
+--- a/src/include/drv_dsl_cpe_device_danube.h
++++ b/src/include/drv_dsl_cpe_device_danube.h
+@@ -24,7 +24,7 @@
+    #include "drv_dsl_cpe_simulator_danube.h"
+ #else
+ /* Include for the low level driver interface header file */
+-#include "asm/ifx/ifx_mei_bsp.h"
++#include "mei/ifxmips_mei_interface.h"
+ #endif /* defined(DSL_CPE_SIMULATOR_DRIVER) && defined(WIN32)*/
+ #define DSL_MAX_LINE_NUMBER 1
+--- a/src/common/drv_dsl_cpe_os_linux.c
++++ b/src/common/drv_dsl_cpe_os_linux.c
+@@ -11,6 +11,7 @@
+ #ifdef __LINUX__
+ #define DSL_INTERN
++#include <linux/device.h>
+ #include "drv_dsl_cpe_api.h"
+ #include "drv_dsl_cpe_api_ioctl.h"
+@@ -1058,6 +1059,7 @@ static void DSL_DRV_DebugInit(void)
+ /* Entry point of driver */
+ int __init DSL_ModuleInit(void)
+ {
++   struct class *dsl_class;
+    DSL_int_t i;
+    printk(DSL_DRV_CRLF DSL_DRV_CRLF "Infineon CPE API Driver version: %s" DSL_DRV_CRLF,
+@@ -1104,7 +1106,8 @@ int __init DSL_ModuleInit(void)
+    }
+    DSL_DRV_DevNodeInit();
+-
++   dsl_class = class_create(THIS_MODULE, "dsl_cpe_api");
++   device_create(dsl_class, NULL, MKDEV(DRV_DSL_CPE_API_DEV_MAJOR, 0), NULL, "dsl_cpe_api");
+    return 0;
+ }
+--- a/src/include/drv_dsl_cpe_os_linux.h
++++ b/src/include/drv_dsl_cpe_os_linux.h
+@@ -17,17 +17,17 @@
+ #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>
+ #include <linux/ctype.h>
+ #include <linux/version.h>
+ #include <linux/spinlock.h>
+-
++#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>
+--- a/src/mei/ifxmips_mei.c
++++ b/src/mei/ifxmips_mei.c
+@@ -29,7 +29,7 @@
+ #include <linux/kernel.h>
+ #include <linux/module.h>
+ #include <linux/version.h>
+-#include <linux/utsrelease.h>
++#include <generated/utsrelease.h>
+ #include <linux/types.h>
+ #include <linux/fs.h>
+ #include <linux/mm.h>
diff --git a/package/ifxmips-dsl-api/patches-2.6.33/200-mei_compat.patch b/package/ifxmips-dsl-api/patches-2.6.33/200-mei_compat.patch
new file mode 100644 (file)
index 0000000..352a974
--- /dev/null
@@ -0,0 +1,94 @@
+--- a/src/mei/ifxmips_mei.c
++++ b/src/mei/ifxmips_mei.c
+@@ -41,18 +41,20 @@
+ #include <linux/init.h>
+ #include <linux/ioport.h>
+ #include <linux/delay.h>
++#include <linux/device.h>
++#include <linux/sched.h>
+ #include <asm/uaccess.h>
+ #include <asm/hardirq.h>
+-#include <asm/ifx/ifx_regs.h>
+-#include <asm/ifx/irq.h>
+-#include <asm/ifx/ifx_gpio.h>
+-//#include <asm/ifx/ifx_led.h>
+-#include <asm/ifx/ifx_pmu.h>
+-#include <asm/ifx/ifx_atm.h>
++
++#include <ifxmips.h>
++#include <ifxmips_irq.h>
++#include <ifxmips_gpio.h>
++#include <ifxmips_pmu.h>
++#include "ifxmips_atm.h"
+ #define IFX_MEI_BSP
+ #include "ifxmips_mei_interface.h"
+-#define IFXMIPS_RCU_RST                   IFX_RCU_RST_REQ
++/*#define IFXMIPS_RCU_RST                   IFX_RCU_RST_REQ
+ #define IFXMIPS_RCU_RST_REQ_ARC_JTAG      IFX_RCU_RST_REQ_ARC_JTAG
+ #define IFXMIPS_RCU_RST_REQ_DFE                 IFX_RCU_RST_REQ_DFE
+ #define IFXMIPS_RCU_RST_REQ_AFE                 IFX_RCU_RST_REQ_AFE
+@@ -76,7 +78,7 @@
+ #define ifxmips_r32(reg)                        __raw_readl(reg)
+ #define ifxmips_w32(val, reg)                   __raw_writel(val, reg)
+ #define ifxmips_w32_mask(clear, set, reg)       ifxmips_w32((ifxmips_r32(reg) & ~clear) | set, reg)
+-
++*/
+ #define IFX_MEI_EMSG(fmt, args...) printk(KERN_ERR  "[%s %d]: " fmt,__FUNCTION__, __LINE__, ## args)
+ #define IFX_MEI_DMSG(fmt, args...) printk(KERN_INFO "[%s %d]: " fmt,__FUNCTION__, __LINE__, ## args)
+@@ -173,7 +175,8 @@ static u32 *mei_arc_swap_buff = NULL;      //
+ extern void ifxmips_mask_and_ack_irq(unsigned int irq_nr);
+ #define MEI_MASK_AND_ACK_IRQ ifxmips_mask_and_ack_irq
+-static int dev_major = 105;
++#define MEI_MAJOR     105
++static int dev_major = MEI_MAJOR;
+ static struct file_operations bsp_mei_operations = {
+       owner:THIS_MODULE,
+@@ -2294,10 +2297,10 @@ IFX_MEI_InitDevice (int num)
+               IFX_MEI_EMSG ("request_irq %d failed!\n", pDev->nIrq[IFX_DFEIR]);
+               return -1;
+       }
+-      if (request_irq (pDev->nIrq[IFX_DYING_GASP], IFX_MEI_Dying_Gasp_IrqHandle, 0, "DYING_GASP", pDev) != 0) {
++      /*if (request_irq (pDev->nIrq[IFX_DYING_GASP], IFX_MEI_Dying_Gasp_IrqHandle, 0, "DYING_GASP", pDev) != 0) {
+               IFX_MEI_EMSG ("request_irq %d failed!\n", pDev->nIrq[IFX_DYING_GASP]);
+               return -1;
+-      }
++      }*/
+ //    IFX_MEI_DMSG("Device %d initialized. IER %#x\n", num, bsp_get_irq_ier(pDev->nIrq[IFX_DYING_GASP]));
+       return 0;
+ }
+@@ -2922,6 +2925,7 @@ int __init
+ IFX_MEI_ModuleInit (void)
+ {
+       int i = 0;
++      static struct class *dsl_class;
+       printk ("IFX MEI Version %ld.%02ld.%02ld", bsp_mei_version.major, bsp_mei_version.minor, bsp_mei_version.revision);
+@@ -2935,14 +2939,15 @@ IFX_MEI_ModuleInit (void)
+               IFX_MEI_InitProcFS (i);
+ #endif
+       }
+-        for (i = 0; i <= DSL_BSP_CB_LAST ; i++)
++              for (i = 0; i <= DSL_BSP_CB_LAST ; i++)
+               dsl_bsp_event_callback[i].function = NULL;
+ #ifdef CONFIG_IFXMIPS_MEI_FW_LOOPBACK
+       printk(KERN_INFO "[%s %s %d]: Start loopback test...\n", __FILE__, __func__, __LINE__);
+       DFE_Loopback_Test ();
+ #endif
+-
++      dsl_class = class_create(THIS_MODULE, "ifx_mei");
++      device_create(dsl_class, NULL, MKDEV(MEI_MAJOR, 0), NULL, "ifx_mei");
+       return 0;
+ }
+@@ -2996,3 +3001,5 @@ EXPORT_SYMBOL (DSL_BSP_EventCBUnregister
+ module_init (IFX_MEI_ModuleInit);
+ module_exit (IFX_MEI_ModuleExit);
++
++MODULE_LICENSE("Dual BSD/GPL");
diff --git a/package/ifxmips-dsl-api/patches-2.6.33/300-atm_compat.patch b/package/ifxmips-dsl-api/patches-2.6.33/300-atm_compat.patch
new file mode 100644 (file)
index 0000000..27dc163
--- /dev/null
@@ -0,0 +1,156 @@
+--- a/src/mei/ifxmips_atm_core.c
++++ b/src/mei/ifxmips_atm_core.c
+@@ -58,9 +58,8 @@
+ /*
+  *  Chip Specific Head File
+  */
+-#include <asm/ifx/ifx_types.h>
+-#include <asm/ifx/ifx_regs.h>
+-#include <asm/ifx/common_routines.h>
++#include <ifxmips.h>
++#include <ifxmips_cgu.h>
+ #include "ifxmips_atm_core.h"
+@@ -1146,7 +1145,7 @@ static INLINE void mailbox_signal(unsign
+ static void set_qsb(struct atm_vcc *vcc, struct atm_qos *qos, unsigned int queue)
+ {
+-    unsigned int qsb_clk = ifx_get_fpi_hz();
++    unsigned int qsb_clk = ifxmips_get_fpi_hz();
+     unsigned int qsb_qid = queue + FIRST_QSB_QID;
+     union qsb_queue_parameter_table qsb_queue_parameter_table = {{0}};
+     union qsb_queue_vbr_parameter_table qsb_queue_vbr_parameter_table = {{0}};
+@@ -1318,7 +1317,7 @@ static void set_qsb(struct atm_vcc *vcc,
+ static void qsb_global_set(void)
+ {
+-    unsigned int qsb_clk = ifx_get_fpi_hz();
++    unsigned int qsb_clk = ifxmips_get_fpi_hz();
+     int i;
+     unsigned int tmp1, tmp2, tmp3;
+@@ -2505,3 +2504,4 @@ static void __exit ifx_atm_exit(void)
+ module_init(ifx_atm_init);
+ module_exit(ifx_atm_exit);
++MODULE_LICENSE("Dual BSD/GPL");
+--- a/src/mei/ifxmips_atm_ppe_common.h
++++ b/src/mei/ifxmips_atm_ppe_common.h
+@@ -1,9 +1,10 @@
+ #ifndef IFXMIPS_ATM_PPE_COMMON_H
+ #define IFXMIPS_ATM_PPE_COMMON_H
+-
+-
+-#if defined(CONFIG_DANUBE)
++#if defined(CONFIG_IFXMIPS)
++  #include "ifxmips_atm_ppe_danube.h"
++  #define CONFIG_DANUBE
++#elif defined(CONFIG_DANUBE) 
+   #include "ifxmips_atm_ppe_danube.h"
+ #elif defined(CONFIG_AMAZON_SE)
+   #include "ifxmips_atm_ppe_amazon_se.h"
+@@ -16,7 +17,6 @@
+ #endif
+-
+ /*
+  *  Code/Data Memory (CDM) Interface Configuration Register
+  */
+--- a/src/mei/ifxmips_atm_core.h
++++ b/src/mei/ifxmips_atm_core.h
+@@ -25,8 +25,8 @@
+ #define IFXMIPS_ATM_CORE_H
+-
+-#include <asm/ifx/ifx_atm.h>
++#include "ifxmips_compat.h"
++#include "ifx_atm.h"
+ #include "ifxmips_atm_ppe_common.h"
+ #include "ifxmips_atm_fw_regs_common.h"
+--- /dev/null
++++ b/src/mei/ifxmips_compat.h
+@@ -0,0 +1,43 @@
++#ifndef _IFXMIPS_COMPAT_H__
++#define _IFXMIPS_COMPAT_H__
++
++#define       IFX_SUCCESS     0
++#define IFX_ERROR     (-1)
++
++#define ATM_VBR_NRT     ATM_VBR
++#define ATM_VBR_RT      6
++#define ATM_UBR_PLUS    7
++#define ATM_GFR         8
++
++#define NUM_ENTITY(x) (sizeof(x) / sizeof(*(x)))
++
++#define SET_BITS(x, msb, lsb, value)  \
++    (((x) & ~(((1 << ((msb) + 1)) - 1) ^ ((1 << (lsb)) - 1))) | (((value) & ((1 << (1 + (msb) - (lsb))) - 1)) << (lsb)))
++
++
++#define IFX_PMU_ENABLE    1
++#define IFX_PMU_DISABLE   0
++
++#define IFX_PMU_MODULE_DSL_DFE    (1 << 9)
++#define IFX_PMU_MODULE_AHBS             (1 << 13)
++#define IFX_PMU_MODULE_PPE_QSB    (1 << 18)
++#define IFX_PMU_MODULE_PPE_SLL01  (1 << 19)
++#define IFX_PMU_MODULE_PPE_TC     (1 << 21)
++#define IFX_PMU_MODULE_PPE_EMA    (1 << 22)
++#define IFX_PMU_MODULE_PPE_TOP    (1 << 29)
++
++#define ifx_pmu_set(a,b)      {if(a == IFX_PMU_ENABLE) ifxmips_pmu_enable(b); else ifxmips_pmu_disable(b);}
++
++#define PPE_TOP_PMU_SETUP(__x)    ifx_pmu_set(IFX_PMU_MODULE_PPE_TOP, (__x))
++#define PPE_SLL01_PMU_SETUP(__x)  ifx_pmu_set(IFX_PMU_MODULE_PPE_SLL01, (__x))
++#define PPE_TC_PMU_SETUP(__x)     ifx_pmu_set(IFX_PMU_MODULE_PPE_TC, (__x))
++#define PPE_EMA_PMU_SETUP(__x)    ifx_pmu_set(IFX_PMU_MODULE_PPE_EMA, (__x))
++#define PPE_QSB_PMU_SETUP(__x)    ifx_pmu_set(IFX_PMU_MODULE_PPE_QSB, (__x))
++#define PPE_TPE_PMU_SETUP(__x)    ifx_pmu_set(IFX_PMU_MODULE_AHBS, (__x))
++#define DSL_DFE_PMU_SETUP(__x)    ifx_pmu_set(IFX_PMU_MODULE_DSL_DFE, (__x))
++
++#define IFX_REG_W32(_v, _r)               __raw_writel((_v), (_r))
++
++#define CONFIG_IFXMIPS_DSL_CPE_MEI    y
++
++#endif
+--- a/src/mei/ifxmips_atm_ppe_danube.h
++++ b/src/mei/ifxmips_atm_ppe_danube.h
+@@ -1,7 +1,7 @@
+ #ifndef IFXMIPS_ATM_PPE_DANUBE_H
+ #define IFXMIPS_ATM_PPE_DANUBE_H
+-
++#include <ifxmips_irq.h>
+ /*
+  *  FPI Configuration Bus Register and Memory Address Mapping
+@@ -93,7 +93,7 @@
+ /*
+  *  Mailbox IGU1 Interrupt
+  */
+-#define PPE_MAILBOX_IGU1_INT            INT_NUM_IM2_IRL24
++#define PPE_MAILBOX_IGU1_INT            IFXMIPS_PPE_MBOX_INT
+--- a/src/mei/ifxmips_atm_danube.c
++++ b/src/mei/ifxmips_atm_danube.c
+@@ -45,10 +45,9 @@
+ /*
+  *  Chip Specific Head File
+  */
+-#include <asm/ifx/ifx_types.h>
+-#include <asm/ifx/ifx_regs.h>
+-#include <asm/ifx/common_routines.h>
+-#include <asm/ifx/ifx_pmu.h>
++#include <ifxmips.h>
++#include <ifxmips_pmu.h>
++#include "ifxmips_compat.h"
+ #include "ifxmips_atm_core.h"
+ #include "ifxmips_atm_fw_danube.h"
diff --git a/package/ifxmips-dsl-api/patches-2.6.33/400-debug-output.patch b/package/ifxmips-dsl-api/patches-2.6.33/400-debug-output.patch
new file mode 100644 (file)
index 0000000..59d4b41
--- /dev/null
@@ -0,0 +1,286 @@
+--- a/src/mei/ifxmips_mei.c
++++ b/src/mei/ifxmips_mei.c
+@@ -79,8 +79,8 @@
+ #define ifxmips_w32(val, reg)                   __raw_writel(val, reg)
+ #define ifxmips_w32_mask(clear, set, reg)       ifxmips_w32((ifxmips_r32(reg) & ~clear) | set, reg)
+ */
+-#define IFX_MEI_EMSG(fmt, args...) printk(KERN_ERR  "[%s %d]: " fmt,__FUNCTION__, __LINE__, ## args)
+-#define IFX_MEI_DMSG(fmt, args...) printk(KERN_INFO "[%s %d]: " fmt,__FUNCTION__, __LINE__, ## args)
++#define IFX_MEI_EMSG(fmt, args...) pr_err("[%s %d]: " fmt,__FUNCTION__, __LINE__, ## args)
++#define IFX_MEI_DMSG(fmt, args...) pr_debug("[%s %d]: " fmt,__FUNCTION__, __LINE__, ## args)
+ #ifdef CONFIG_IFXMIPS_MEI_FW_LOOPBACK
+ //#define DFE_MEM_TEST
+@@ -1301,7 +1301,7 @@ IFX_MEI_RunAdslModem (DSL_DEV_Device_t *
+                       IFX_MEI_EMSG (">>> malloc fail for codeswap buff!!! <<<\n");
+                       return DSL_DEV_MEI_ERR_FAILURE;
+               }
+-                printk("allocate %dKB swap buff memory at: 0x%p\n", ksize(mei_arc_swap_buff)/1024, mei_arc_swap_buff);
++                IFX_MEI_DMSG("allocate %dKB swap buff memory at: 0x%p\n", ksize(mei_arc_swap_buff)/1024, mei_arc_swap_buff);
+       }
+       DSL_DEV_PRIVATE(pDev)->img_hdr =
+@@ -1476,7 +1476,7 @@ IFX_MEI_DFEMemoryFree (DSL_DEV_Device_t 
+         }
+       if(mei_arc_swap_buff != NULL){
+-                printk("free %dKB swap buff memory at: 0x%p\n", ksize(mei_arc_swap_buff)/1024, mei_arc_swap_buff);
++                IFX_MEI_DMSG("free %dKB swap buff memory at: 0x%p\n", ksize(mei_arc_swap_buff)/1024, mei_arc_swap_buff);
+               kfree(mei_arc_swap_buff);
+               mei_arc_swap_buff=NULL;
+       }
+@@ -1496,7 +1496,7 @@ IFX_MEI_DFEMemoryAlloc (DSL_DEV_Device_t
+ //            DSL_DEV_PRIVATE(pDev)->adsl_mem_info;
+       int allocate_size = SDRAM_SEGMENT_SIZE;
+-      printk(KERN_INFO "[%s %d]: image_size = %ld\n", __func__, __LINE__, size);
++      IFX_MEI_DMSG("image_size = %ld\n", size);
+       // Alloc Swap Pages
+       for (idx = 0; size > 0 && idx < MAX_BAR_REGISTERS; idx++) {
+               // skip bar15 for XDATA usage.
+@@ -1596,7 +1596,7 @@ DSL_BSP_FWDownload (DSL_DEV_Device_t * p
+       ssize_t retval = -ENOMEM;
+       int idx = 0;
+-        printk("\n%s\n", __func__);
++        IFX_MEI_DMSG("\n");
+       if (*loff == 0) {
+               if (size < sizeof (img_hdr_tmp)) {
+@@ -1648,7 +1648,7 @@ DSL_BSP_FWDownload (DSL_DEV_Device_t * p
+                       goto error;
+               }
+               adsl_mem_info[XDATA_REGISTER].type = FREE_RELOAD;
+-              printk(KERN_INFO "[%s %d] -> IFX_MEI_BarUpdate()\n", __func__, __LINE__);
++              IFX_MEI_DMSG("-> IFX_MEI_BarUpdate()\n");
+               IFX_MEI_BarUpdate (pDev, (DSL_DEV_PRIVATE(pDev)->nBar));
+       }
+       else if (DSL_DEV_PRIVATE(pDev)-> image_size == 0) {
+@@ -1927,7 +1927,7 @@ static void
+ WriteMbox (u32 * mboxarray, u32 size)
+ {
+       IFX_MEI_DebugWrite (&dsl_devices[0], IMBOX_BASE, mboxarray, size);
+-      printk ("write to %X\n", IMBOX_BASE);
++      IFX_MEI_DMSG("write to %X\n", IMBOX_BASE);
+       IFX_MEI_LongWordWriteOffset (&dsl_devices[0], (u32) ME_ME2ARC_INT, MEI_TO_ARC_MSGAV);
+ }
+@@ -1936,7 +1936,7 @@ static void
+ ReadMbox (u32 * mboxarray, u32 size)
+ {
+       IFX_MEI_DebugRead (&dsl_devices[0], OMBOX_BASE, mboxarray, size);
+-      printk ("read from %X\n", OMBOX_BASE);
++      IFX_MEI_DMSG("read from %X\n", OMBOX_BASE);
+ }
+ static void
+@@ -1966,7 +1966,7 @@ arc_code_page_download (uint32_t arc_cod
+ {
+       int count;
+-      printk ("try to download pages,size=%d\n", arc_code_length);
++      IFX_MEI_DMSG("try to download pages,size=%d\n", arc_code_length);
+       IFX_MEI_ControlModeSet (&dsl_devices[0], MEI_MASTER_MODE);
+       IFX_MEI_HaltArc (&dsl_devices[0]);
+       IFX_MEI_LongWordWriteOffset (&dsl_devices[0], (u32) ME_DX_AD, 0);
+@@ -2005,21 +2005,21 @@ dfe_loopback_irq_handler (DSL_DEV_Device
+       memset (&rd_mbox[0], 0, 10 * 4);
+       ReadMbox (&rd_mbox[0], 6);
+       if (rd_mbox[0] == 0x0) {
+-              printk ("Get ARC_ACK\n");
++              FX_MEI_DMSG("Get ARC_ACK\n");
+               got_int = 1;
+       }
+       else if (rd_mbox[0] == 0x5) {
+-              printk ("Get ARC_BUSY\n");
++              IFX_MEI_DMSG("Get ARC_BUSY\n");
+               got_int = 2;
+       }
+       else if (rd_mbox[0] == 0x3) {
+-              printk ("Get ARC_EDONE\n");
++              IFX_MEI_DMSG("Get ARC_EDONE\n");
+               if (rd_mbox[1] == 0x0) {
+                       got_int = 3;
+-                      printk ("Get E_MEMTEST\n");
++                      IFX_MEI_DMSG("Get E_MEMTEST\n");
+                       if (rd_mbox[2] != 0x1) {
+                               got_int = 4;
+-                              printk ("Get Result %X\n", rd_mbox[2]);
++                              IFX_MEI_DMSG("Get Result %X\n", rd_mbox[2]);
+                       }
+               }
+       }
+@@ -2037,21 +2037,21 @@ wait_mem_test_result (void)
+       uint32_t mbox[5];
+       mbox[0] = 0;
+-      printk ("Waiting Starting\n");
++      IFX_MEI_DMSG("Waiting Starting\n");
+       while (mbox[0] == 0) {
+               ReadMbox (&mbox[0], 5);
+       }
+-      printk ("Try to get mem test result.\n");
++      IFX_MEI_DMSG("Try to get mem test result.\n");
+       ReadMbox (&mbox[0], 5);
+       if (mbox[0] == 0xA) {
+-              printk ("Success.\n");
++              IFX_MEI_DMSG("Success.\n");
+       }
+       else if (mbox[0] == 0xA) {
+-              printk ("Fail,address %X,except data %X,receive data %X\n",
++              IFX_MEI_EMSG("Fail,address %X,except data %X,receive data %X\n",
+                       mbox[1], mbox[2], mbox[3]);
+       }
+       else {
+-              printk ("Fail\n");
++              IFX_MEI_EMSG("Fail\n");
+       }
+ }
+@@ -2067,7 +2067,7 @@ arc_ping_testing (DSL_DEV_Device_t *pDev
+               rd_mbox[i] = 0;
+       }
+-      printk ("send ping msg\n");
++      FX_MEI_DMSG("send ping msg\n");
+       wr_mbox[0] = MEI_PING;
+       WriteMbox (&wr_mbox[0], 10);
+@@ -2075,7 +2075,7 @@ arc_ping_testing (DSL_DEV_Device_t *pDev
+               MEI_WAIT (100);
+       }
+-      printk ("send start event\n");
++      IFX_MEI_DMSG("send start event\n");
+       got_int = 0;
+       wr_mbox[0] = 0x4;
+@@ -2094,14 +2094,14 @@ arc_ping_testing (DSL_DEV_Device_t *pDev
+       IFX_MEI_LongWordWriteOffset (&dsl_devices[0],
+                                          (u32) ME_ME2ARC_INT,
+                                          MEI_TO_ARC_MSGAV);
+-      printk ("sleeping\n");
++      IFX_MEI_DMSG("sleeping\n");
+       while (1) {
+               if (got_int > 0) {
+                       if (got_int > 3)
+-                              printk ("got_int >>>> 3\n");
++                              IFX_MEI_DMSG("got_int >>>> 3\n");
+                       else
+-                              printk ("got int = %d\n", got_int);
++                              IFX_MEI_DMSG("got int = %d\n", got_int);
+                       got_int = 0;
+                       //schedule();
+                       DSL_ENABLE_IRQ (pDev->nIrq[IFX_DFEIR]);
+@@ -2152,7 +2152,7 @@ DFE_Loopback_Test (void)
+                       DSL_DEV_PRIVATE(pDev)->adsl_mem_info[idx].type = FREE_RELOAD;
+                       IFX_MEI_WRITE_REGISTER_L ((((uint32_t) DSL_DEV_PRIVATE(pDev)->adsl_mem_info[idx].address) & 0x0fffffff),
+                                                       IFXMIPS_MEI_BASE_ADDR + ME_XMEM_BAR_BASE  + idx * 4);
+-                      printk ("bar%d(%X)=%X\n", idx,
++                      IFX_MEI_DMSG("bar%d(%X)=%X\n", idx,
+                               IFXMIPS_MEI_BASE_ADDR + ME_XMEM_BAR_BASE  +
+                               idx * 4, (((uint32_t)
+                                          ((ifx_mei_device_private_t *)
+@@ -2169,20 +2169,20 @@ DFE_Loopback_Test (void)
+               return DSL_DEV_MEI_ERR_FAILURE;
+       }
+       //WriteARCreg(AUX_IC_CTRL,2);
+-      printk(KERN_INFO "[%s %s %d]: Setting MEI_MASTER_MODE..\n", __FILE__, __func__, __LINE__);
++      IFX_MEI_DMSG("Setting MEI_MASTER_MODE..\n");
+       IFX_MEI_ControlModeSet (pDev, MEI_MASTER_MODE);
+ #define AUX_IC_CTRL 0x11
+       _IFX_MEI_DBGLongWordWrite (pDev, MEI_DEBUG_DEC_AUX_MASK,
+                                        AUX_IC_CTRL, 2);
+-      printk(KERN_INFO "[%s %s %d]: Setting JTAG_MASTER_MODE..\n", __FILE__, __func__, __LINE__);
++      IFX_MEI_DMSG("Setting JTAG_MASTER_MODE..\n");
+       IFX_MEI_ControlModeSet (pDev, JTAG_MASTER_MODE);
+-      printk(KERN_INFO "[%s %s %d]: Halting ARC...\n", __FILE__, __func__, __LINE__);
++      IFX_MEI_DMSG("Halting ARC...\n");
+       IFX_MEI_HaltArc (&dsl_devices[0]);
+ #ifdef DFE_PING_TEST
+-      printk ("ping test image size=%d\n", sizeof (arc_ahb_access_code));
++      IFX_MEI_DMSG("ping test image size=%d\n", sizeof (arc_ahb_access_code));
+       memcpy ((u8 *) (DSL_DEV_PRIVATE(pDev)->
+                       adsl_mem_info[0].address + 0x1004),
+               &arc_ahb_access_code[0], sizeof (arc_ahb_access_code));
+@@ -2190,13 +2190,13 @@ DFE_Loopback_Test (void)
+ #endif //DFE_PING_TEST
+-      printk ("ARC ping test code download complete\n");
++      IFX_MEI_DMSG("ARC ping test code download complete\n");
+ #endif //defined( DFE_PING_TEST )|| defined( DFE_ATM_LOOPBACK)
+ #ifdef DFE_MEM_TEST
+       IFX_MEI_LongWordWriteOffset (&dsl_devices[0], (u32) ME_ARC2ME_MASK, MSGAV_EN);
+       arc_code_page_download (1537, &code_array[0]);
+-      printk ("ARC mem test code download complete\n");
++      IFX_MEI_DMSG("ARC mem test code download complete\n");
+ #endif //DFE_MEM_TEST
+ #ifdef DFE_ATM_LOOPBACK
+       arc_debug_data = 0xf;
+@@ -2215,7 +2215,7 @@ DFE_Loopback_Test (void)
+       IFX_MEI_DebugWrite (&dsl_devices[0], 0x32010, &arc_debug_data, 1);
+ #endif //DFE_ATM_LOOPBACK
+       IFX_MEI_IRQEnable (pDev);
+-      printk(KERN_INFO "[%s %s %d]: run ARC...\n", __FILE__, __func__, __LINE__);
++      IFX_MEI_DMSG("run ARC...\n");
+       IFX_MEI_RunArc (&dsl_devices[0]);
+ #ifdef DFE_PING_TEST
+@@ -2526,7 +2526,7 @@ IFX_MEI_Ioctls (DSL_DEV_Device_t * pDev,
+               break;
+       case DSL_FIO_BSP_DSL_START:
+-              printk("\n%s: DSL_FIO_BSP_DSL_START\n",__func__);
++              IFX_MEI_DMSG("DSL_FIO_BSP_DSL_START\n");
+               if ((meierr = IFX_MEI_RunAdslModem (pDev)) != DSL_DEV_MEI_ERR_SUCCESS) {
+                       IFX_MEI_EMSG ("IFX_MEI_RunAdslModem() error...");
+                       meierr = DSL_DEV_MEI_ERR_FAILURE;
+@@ -2927,11 +2927,11 @@ IFX_MEI_ModuleInit (void)
+       int i = 0;
+       static struct class *dsl_class;
+-      printk ("IFX MEI Version %ld.%02ld.%02ld", bsp_mei_version.major, bsp_mei_version.minor, bsp_mei_version.revision);
++      pr_info("IFX MEI Version %ld.%02ld.%02ld", bsp_mei_version.major, bsp_mei_version.minor, bsp_mei_version.revision);
+       for (i = 0; i < BSP_MAX_DEVICES; i++) {
+               if (IFX_MEI_InitDevice (i) != 0) {
+-                      printk ("%s: Init device fail!\n", __FUNCTION__);
++                      IFX_MEI_EMSG("Init device fail!\n");
+                       return -EIO;
+               }
+               IFX_MEI_InitDevNode (i);
+@@ -2943,7 +2943,7 @@ IFX_MEI_ModuleInit (void)
+               dsl_bsp_event_callback[i].function = NULL;
+ #ifdef CONFIG_IFXMIPS_MEI_FW_LOOPBACK
+-      printk(KERN_INFO "[%s %s %d]: Start loopback test...\n", __FILE__, __func__, __LINE__);
++      IFX_MEI_DMSG("Start loopback test...\n");
+       DFE_Loopback_Test ();
+ #endif
+       dsl_class = class_create(THIS_MODULE, "ifx_mei");
+--- a/src/mei/ifxmips_atm_core.c
++++ b/src/mei/ifxmips_atm_core.c
+@@ -2335,7 +2335,7 @@ static int atm_showtime_enter(struct por
+     IFX_REG_W32(0x0F, UTP_CFG);
+ #endif
+-    printk("enter showtime, cell rate: 0 - %d, 1 - %d, xdata addr: 0x%08x\n", g_atm_priv_data.port[0].tx_max_cell_rate, g_atm_priv_data.port[1].tx_max_cell_rate, (unsigned int)g_xdata_addr);
++    pr_debug("enter showtime, cell rate: 0 - %d, 1 - %d, xdata addr: 0x%08x\n", g_atm_priv_data.port[0].tx_max_cell_rate, g_atm_priv_data.port[1].tx_max_cell_rate, (unsigned int)g_xdata_addr);
+     return IFX_SUCCESS;
+ }
+@@ -2351,7 +2351,7 @@ static int atm_showtime_exit(void)
+     //  TODO: ReTX clean state
+     g_xdata_addr = NULL;
+-    printk("leave showtime\n");
++    pr_debug("leave showtime\n");
+     return IFX_SUCCESS;
+ }
diff --git a/package/ifxmips-dsl-api/patches-2.6.33/500-portability.patch b/package/ifxmips-dsl-api/patches-2.6.33/500-portability.patch
new file mode 100644 (file)
index 0000000..8af2646
--- /dev/null
@@ -0,0 +1,193 @@
+--- a/configure.in
++++ b/configure.in
+@@ -310,7 +310,7 @@ dnl Set kernel build path
+ AC_ARG_ENABLE(kernelbuild,
+     AC_HELP_STRING(--enable-kernel-build=x,Set the target kernel build path),
+     [
+-        if test -e $enableval/include/linux/autoconf.h; then
++        if test -e $enableval/include/linux/autoconf.h -o -e $enableval/include/generated/autoconf.h; then
+             AC_SUBST([KERNEL_BUILD_PATH],[$enableval])
+         else
+             AC_MSG_ERROR([The kernel build directory is not valid or not configured!])
+@@ -333,12 +333,12 @@ AC_ARG_ENABLE(ifxos-include,
+             echo Set the lib_ifxos include path $enableval
+             AC_SUBST([IFXOS_INCLUDE_PATH],[$enableval])
+         else
+-            echo -e Set the default lib_ifxos include path $DEFAULT_IFXOS_INCLUDE_PATH
++            echo Set the default lib_ifxos include path $DEFAULT_IFXOS_INCLUDE_PATH
+             AC_SUBST([IFXOS_INCLUDE_PATH],[$DEFAULT_IFXOS_INCLUDE_PATH])
+         fi
+     ],
+     [
+-        echo -e Set the default lib_ifxos include path $DEFAULT_IFXOS_INCLUDE_PATH
++        echo Set the default lib_ifxos include path $DEFAULT_IFXOS_INCLUDE_PATH
+         AC_SUBST([IFXOS_INCLUDE_PATH],[$DEFAULT_IFXOS_INCLUDE_PATH])
+     ]
+ )
+@@ -1702,73 +1702,73 @@ dnl Set the configure params for dist ch
+ AC_SUBST([DISTCHECK_CONFIGURE_PARAMS],[$CONFIGURE_OPTIONS])
+ AC_CONFIG_COMMANDS_PRE([
+-echo -e "------------------------------------------------------------------------"
+-echo -e " Configuration for drv_dsl_cpe_api:"
+-echo -e "  Configure model type:             $DSL_CONFIG_MODEL_TYPE"
+-echo -e "  Source code location:             $srcdir"
+-echo -e "  Compiler:                         $CC"
+-echo -e "  Compiler c-flags:                 $CFLAGS"
+-echo -e "  Extra compiler c-flags:           $EXTRA_DRV_CFLAGS"
+-echo -e "  Host System Type:                 $host"
+-echo -e "  Install path:                     $prefix"
+-echo -e "  Linux kernel include path:        $KERNEL_INCL_PATH"
+-echo -e "  Linux kernel build path:          $KERNEL_BUILD_PATH"
+-echo -e "  Linux kernel architecture:        $KERNEL_ARCH"
+-echo -e "  Include IFXOS:                    $INCLUDE_DSL_CPE_API_IFXOS_SUPPORT"
+-echo -e "  IFXOS include path:               $IFXOS_INCLUDE_PATH"
+-echo -e "  Driver Include Path               $DSL_DRIVER_INCL_PATH"
+-echo -e "  DSL device:                       $DSL_DEVICE_NAME"
+-echo -e "  Max device number:                $DSL_DRV_MAX_DEVICE_NUMBER"
+-echo -e "  Channels per line:                $DSL_CHANNELS_PER_LINE"
+-echo -e "  Build lib (only for kernel 2.6)   $DSL_CPE_API_LIBRARY_BUILD_2_6"
+-echo -e "  DSL data led flash frequency:     $DSL_DATA_LED_FLASH_FREQUENCY Hz"
+-echo -e "  Disable debug prints:             $DSL_DEBUG_DISABLE"
+-echo -e "  Preselection of max. debug level: $DSL_DBG_MAX_LEVEL_SET"
+-echo -e "  Preselected max. debug level:     $DSL_DBG_MAX_LEVEL_PRE"
+-echo -e "  Include deprecated functions:     $INCLUDE_DEPRECATED"
+-echo -e "  Include Device Exception Codes:   $INCLUDE_DEVICE_EXCEPTION_CODES"
+-echo -e "  Include FW request support:       $INCLUDE_FW_REQUEST_SUPPORT"
+-echo -e "  Include ADSL trace buffer:        $INCLUDE_DSL_CPE_TRACE_BUFFER"
+-echo -e "  Include ADSL MIB:                 $INCLUDE_DSL_ADSL_MIB"
+-echo -e "  Include ADSL LED:                 $INCLUDE_ADSL_LED"
+-echo -e "  Include CEOC:                     $INCLUDE_DSL_CEOC"
+-echo -e "  Include config get support:       $INCLUDE_DSL_CONFIG_GET"
+-echo -e "  Include System i/f configuration: $INCLUDE_DSL_SYSTEM_INTERFACE"
+-echo -e "  Include Resource Statistics:      $INCLUDE_DSL_RESOURCE_STATISTICS"
+-echo -e "  Include Framing Parameters:       $INCLUDE_DSL_FRAMING_PARAMETERS"
+-echo -e "  Include G997 Line Inventory:      $INCLUDE_DSL_G997_LINE_INVENTORY"
+-echo -e "  Include G997 Framing Parameters:  $INCLUDE_DSL_G997_FRAMING_PARAMETERS"
+-echo -e "  Include G997 per tone data:       $INCLUDE_DSL_G997_PER_TONE"
+-echo -e "  Include G997 status:              $INCLUDE_DSL_G997_STATUS"
+-echo -e "  Include G997 alarm:               $INCLUDE_DSL_G997_ALARM"
+-echo -e "  Include DSL Bonding:              $INCLUDE_DSL_BONDING"
+-echo -e "  Include Misc Line Status          $INCLUDE_DSL_CPE_MISC_LINE_STATUS"
+-echo -e "  Include DELT:                     $INCLUDE_DSL_DELT"
+-echo -e "  Include DELT data static storage: $DSL_CPE_STATIC_DELT_DATA"
+-echo -e "  Include PM:                       $INCLUDE_DSL_PM"
+-echo -e "  Include PM config:                $INCLUDE_DSL_CPE_PM_CONFIG"
+-echo -e "  Include PM total:                 $INCLUDE_DSL_CPE_PM_TOTAL_COUNTERS"
+-echo -e "  Include PM history:               $INCLUDE_DSL_CPE_PM_HISTORY"
+-echo -e "  Include PM showtime:              $INCLUDE_DSL_CPE_PM_SHOWTIME_COUNTERS"
+-echo -e "  Include PM optional:              $INCLUDE_DSL_CPE_PM_OPTIONAL_PARAMETERS"
+-echo -e "  Include PM line:                  $INCLUDE_DSL_CPE_PM_LINE_COUNTERS"
+-echo -e "  Include PM line event showtime:   $INCLUDE_DSL_CPE_PM_LINE_EVENT_SHOWTIME_COUNTERS"
+-echo -e "  Include PM channel:               $INCLUDE_DSL_CPE_PM_CHANNEL_COUNTERS"
+-echo -e "  Include PM channel extended:      $INCLUDE_DSL_CPE_PM_CHANNEL_EXT_COUNTERS"
+-echo -e "  Include PM data path:             $INCLUDE_DSL_CPE_PM_DATA_PATH_COUNTERS"
+-echo -e "  Include PM data path failure:     $INCLUDE_DSL_CPE_PM_DATA_PATH_FAILURE_COUNTERS"
+-echo -e "  Include PM ReTx:                  $INCLUDE_DSL_CPE_PM_RETX_COUNTERS"
+-echo -e "  Include PM line threshold:        $INCLUDE_DSL_CPE_PM_LINE_THRESHOLDS"
+-echo -e "  Include PM channel threshold:     $INCLUDE_DSL_CPE_PM_CHANNEL_THRESHOLDS"
+-echo -e "  Include PM data path threshold:   $INCLUDE_DSL_CPE_PM_DATA_PATH_THRESHOLDS"
+-echo -e "  Include PM ReTx threshold:        $INCLUDE_DSL_CPE_PM_RETX_THRESHOLDS"
+-echo -e "  Include FW memory free support:   $INCLUDE_DSL_FIRMWARE_MEMORY_FREE"
+-echo -e "----------------------- deprectated ! ----------------------------------"
+-echo -e "  Include PM line failure:          $INCLUDE_DSL_CPE_PM_LINE_FAILURE_COUNTERS"
+-echo -e ""
+-echo -e " Settings:"
+-echo -e "  Configure options:                $CONFIGURE_OPTIONS"
+-echo -e "------------------------------------------------------------------------"
++echo "------------------------------------------------------------------------"
++echo " Configuration for drv_dsl_cpe_api:"
++echo "  Configure model type:             $DSL_CONFIG_MODEL_TYPE"
++echo "  Source code location:             $srcdir"
++echo "  Compiler:                         $CC"
++echo "  Compiler c-flags:                 $CFLAGS"
++echo "  Extra compiler c-flags:           $EXTRA_DRV_CFLAGS"
++echo "  Host System Type:                 $host"
++echo "  Install path:                     $prefix"
++echo "  Linux kernel include path:        $KERNEL_INCL_PATH"
++echo "  Linux kernel build path:          $KERNEL_BUILD_PATH"
++echo "  Linux kernel architecture:        $KERNEL_ARCH"
++echo "  Include IFXOS:                    $INCLUDE_DSL_CPE_API_IFXOS_SUPPORT"
++echo "  IFXOS include path:               $IFXOS_INCLUDE_PATH"
++echo "  Driver Include Path               $DSL_DRIVER_INCL_PATH"
++echo "  DSL device:                       $DSL_DEVICE_NAME"
++echo "  Max device number:                $DSL_DRV_MAX_DEVICE_NUMBER"
++echo "  Channels per line:                $DSL_CHANNELS_PER_LINE"
++echo "  Build lib (only for kernel 2.6)   $DSL_CPE_API_LIBRARY_BUILD_2_6"
++echo "  DSL data led flash frequency:     $DSL_DATA_LED_FLASH_FREQUENCY Hz"
++echo "  Disable debug prints:             $DSL_DEBUG_DISABLE"
++echo "  Preselection of max. debug level: $DSL_DBG_MAX_LEVEL_SET"
++echo "  Preselected max. debug level:     $DSL_DBG_MAX_LEVEL_PRE"
++echo "  Include deprecated functions:     $INCLUDE_DEPRECATED"
++echo "  Include Device Exception Codes:   $INCLUDE_DEVICE_EXCEPTION_CODES"
++echo "  Include FW request support:       $INCLUDE_FW_REQUEST_SUPPORT"
++echo "  Include ADSL trace buffer:        $INCLUDE_DSL_CPE_TRACE_BUFFER"
++echo "  Include ADSL MIB:                 $INCLUDE_DSL_ADSL_MIB"
++echo "  Include ADSL LED:                 $INCLUDE_ADSL_LED"
++echo "  Include CEOC:                     $INCLUDE_DSL_CEOC"
++echo "  Include config get support:       $INCLUDE_DSL_CONFIG_GET"
++echo "  Include System i/f configuration: $INCLUDE_DSL_SYSTEM_INTERFACE"
++echo "  Include Resource Statistics:      $INCLUDE_DSL_RESOURCE_STATISTICS"
++echo "  Include Framing Parameters:       $INCLUDE_DSL_FRAMING_PARAMETERS"
++echo "  Include G997 Line Inventory:      $INCLUDE_DSL_G997_LINE_INVENTORY"
++echo "  Include G997 Framing Parameters:  $INCLUDE_DSL_G997_FRAMING_PARAMETERS"
++echo "  Include G997 per tone data:       $INCLUDE_DSL_G997_PER_TONE"
++echo "  Include G997 status:              $INCLUDE_DSL_G997_STATUS"
++echo "  Include G997 alarm:               $INCLUDE_DSL_G997_ALARM"
++echo "  Include DSL Bonding:              $INCLUDE_DSL_BONDING"
++echo "  Include Misc Line Status          $INCLUDE_DSL_CPE_MISC_LINE_STATUS"
++echo "  Include DELT:                     $INCLUDE_DSL_DELT"
++echo "  Include DELT data static storage: $DSL_CPE_STATIC_DELT_DATA"
++echo "  Include PM:                       $INCLUDE_DSL_PM"
++echo "  Include PM config:                $INCLUDE_DSL_CPE_PM_CONFIG"
++echo "  Include PM total:                 $INCLUDE_DSL_CPE_PM_TOTAL_COUNTERS"
++echo "  Include PM history:               $INCLUDE_DSL_CPE_PM_HISTORY"
++echo "  Include PM showtime:              $INCLUDE_DSL_CPE_PM_SHOWTIME_COUNTERS"
++echo "  Include PM optional:              $INCLUDE_DSL_CPE_PM_OPTIONAL_PARAMETERS"
++echo "  Include PM line:                  $INCLUDE_DSL_CPE_PM_LINE_COUNTERS"
++echo "  Include PM line event showtime:   $INCLUDE_DSL_CPE_PM_LINE_EVENT_SHOWTIME_COUNTERS"
++echo "  Include PM channel:               $INCLUDE_DSL_CPE_PM_CHANNEL_COUNTERS"
++echo "  Include PM channel extended:      $INCLUDE_DSL_CPE_PM_CHANNEL_EXT_COUNTERS"
++echo "  Include PM data path:             $INCLUDE_DSL_CPE_PM_DATA_PATH_COUNTERS"
++echo "  Include PM data path failure:     $INCLUDE_DSL_CPE_PM_DATA_PATH_FAILURE_COUNTERS"
++echo "  Include PM ReTx:                  $INCLUDE_DSL_CPE_PM_RETX_COUNTERS"
++echo "  Include PM line threshold:        $INCLUDE_DSL_CPE_PM_LINE_THRESHOLDS"
++echo "  Include PM channel threshold:     $INCLUDE_DSL_CPE_PM_CHANNEL_THRESHOLDS"
++echo "  Include PM data path threshold:   $INCLUDE_DSL_CPE_PM_DATA_PATH_THRESHOLDS"
++echo "  Include PM ReTx threshold:        $INCLUDE_DSL_CPE_PM_RETX_THRESHOLDS"
++echo "  Include FW memory free support:   $INCLUDE_DSL_FIRMWARE_MEMORY_FREE"
++echo "----------------------- deprectated ! ----------------------------------"
++echo "  Include PM line failure:          $INCLUDE_DSL_CPE_PM_LINE_FAILURE_COUNTERS"
++echo ""
++echo " Settings:"
++echo "  Configure options:                $CONFIGURE_OPTIONS"
++echo "------------------------------------------------------------------------"
+ ])
+ AC_CONFIG_FILES([Makefile src/Makefile])
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -303,7 +303,7 @@ if KERNEL_2_6
+ drv_dsl_cpe_api_OBJS = "$(subst .c,.o,$(filter %.c,$(drv_dsl_cpe_api_SOURCES)))"
+ drv_dsl_cpe_api.ko: $(drv_dsl_cpe_api_SOURCES)
+-      @echo -e "drv_dsl_cpe_api: Making Linux 2.6.x kernel object"
++      @echo "drv_dsl_cpe_api: Making Linux 2.6.x kernel object"
+       if test ! -e common/drv_dsl_cpe_api.c ; then \
+               echo "copy source files (as links only!)"; \
+               for f in $(filter %.c,$(drv_dsl_cpe_api_SOURCES)); do \
+@@ -311,10 +311,10 @@ drv_dsl_cpe_api.ko: $(drv_dsl_cpe_api_SO
+                       cp -s $(addprefix @abs_srcdir@/,$$f) $(PWD)/`dirname $$f`/ ; \
+               done \
+       fi
+-      @echo -e "# drv_dsl_cpe_api: Generated to build Linux 2.6.x kernel object" > $(PWD)/Kbuild
+-      @echo -e "obj-m := $(subst .ko,.o,$@)"                  >> $(PWD)/Kbuild
+-      @echo -e "$(subst .ko,,$@)-y := $(drv_dsl_cpe_api_OBJS)"        >> $(PWD)/Kbuild
+-      @echo -e "EXTRA_CFLAGS := $(CFLAGS) -DHAVE_CONFIG_H $(drv_dsl_cpe_api_CFLAGS) $(DSL_DRIVER_INCL_PATH) $(IFXOS_INCLUDE_PATH) -I@abs_srcdir@/include -I$(PWD)/include"    >> $(PWD)/Kbuild
++      @echo "# drv_dsl_cpe_api: Generated to build Linux 2.6.x kernel object" > $(PWD)/Kbuild
++      @echo "obj-m := $(subst .ko,.o,$@)"                     >> $(PWD)/Kbuild
++      @echo "$(subst .ko,,$@)-y := $(drv_dsl_cpe_api_OBJS)"   >> $(PWD)/Kbuild
++      @echo "EXTRA_CFLAGS := $(CFLAGS) -DHAVE_CONFIG_H $(drv_dsl_cpe_api_CFLAGS) $(DSL_DRIVER_INCL_PATH) $(IFXOS_INCLUDE_PATH) -I@abs_srcdir@/include -I$(PWD)/include"       >> $(PWD)/Kbuild
+       $(MAKE) ARCH=@KERNEL_ARCH@ -C @KERNEL_BUILD_PATH@ O=@KERNEL_BUILD_PATH@ M=$(PWD) modules
+ clean-generic:
index dea82f03048df860c0922647ca0bc7ddcd7a8236..a3020d4c9a58f5f0c632ec2f05bfa05c52387423 100644 (file)
     return 0;
  }
  
+--- a/src/include/drv_dsl_cpe_os_linux.h
++++ b/src/include/drv_dsl_cpe_os_linux.h
+@@ -24,7 +24,7 @@
+ #include <linux/ctype.h>
+ #include <linux/version.h>
+ #include <linux/spinlock.h>
+-
++#include <linux/sched.h>
+ #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,17))
+    #include <linux/utsrelease.h>
index cbac514f20b14c65fb43fe43053c4d6b4644610b..8af2646660b3fefb645617308876e5269d5001fe 100644 (file)
@@ -1,5 +1,14 @@
 --- a/configure.in
 +++ b/configure.in
+@@ -310,7 +310,7 @@ dnl Set kernel build path
+ AC_ARG_ENABLE(kernelbuild,
+     AC_HELP_STRING(--enable-kernel-build=x,Set the target kernel build path),
+     [
+-        if test -e $enableval/include/linux/autoconf.h; then
++        if test -e $enableval/include/linux/autoconf.h -o -e $enableval/include/generated/autoconf.h; then
+             AC_SUBST([KERNEL_BUILD_PATH],[$enableval])
+         else
+             AC_MSG_ERROR([The kernel build directory is not valid or not configured!])
 @@ -333,12 +333,12 @@ AC_ARG_ENABLE(ifxos-include,
              echo Set the lib_ifxos include path $enableval
              AC_SUBST([IFXOS_INCLUDE_PATH],[$enableval])