diff options
author | ralph <ralph@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-04-27 14:08:38 +0000 |
---|---|---|
committer | ralph <ralph@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-04-27 14:08:38 +0000 |
commit | 800799d0f94cd87000f2ee4e580bf7b59ba00cf4 (patch) | |
tree | 39a52869b2a8de4abedbb37ec9119ee3fb035f52 | |
parent | 923b2ef28bf79a33b06000900a9fc521b7373641 (diff) |
[ifxmips-dsl-api] fix .32 kernel, add support for .33 kernel
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21194 3c298f89-4303-0410-b956-a3cf2f4a3e73
8 files changed, 828 insertions, 0 deletions
diff --git a/package/ifxmips-dsl-api/Makefile b/package/ifxmips-dsl-api/Makefile index 9d20ce0b3a..c9303a9a80 100644 --- a/package/ifxmips-dsl-api/Makefile +++ b/package/ifxmips-dsl-api/Makefile @@ -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 index 0000000000..30e4374b79 --- /dev/null +++ b/package/ifxmips-dsl-api/patches-2.6.33/100-dsl_compat.patch @@ -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 index 0000000000..352a974e60 --- /dev/null +++ b/package/ifxmips-dsl-api/patches-2.6.33/200-mei_compat.patch @@ -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 index 0000000000..27dc163079 --- /dev/null +++ b/package/ifxmips-dsl-api/patches-2.6.33/300-atm_compat.patch @@ -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 index 0000000000..59d4b41cc4 --- /dev/null +++ b/package/ifxmips-dsl-api/patches-2.6.33/400-debug-output.patch @@ -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 index 0000000000..8af2646660 --- /dev/null +++ b/package/ifxmips-dsl-api/patches-2.6.33/500-portability.patch @@ -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: diff --git a/package/ifxmips-dsl-api/patches/100-dsl_compat.patch b/package/ifxmips-dsl-api/patches/100-dsl_compat.patch index dea82f0304..a3020d4c9a 100644 --- a/package/ifxmips-dsl-api/patches/100-dsl_compat.patch +++ b/package/ifxmips-dsl-api/patches/100-dsl_compat.patch @@ -37,3 +37,14 @@ 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> diff --git a/package/ifxmips-dsl-api/patches/500-portability.patch b/package/ifxmips-dsl-api/patches/500-portability.patch index cbac514f20..8af2646660 100644 --- a/package/ifxmips-dsl-api/patches/500-portability.patch +++ b/package/ifxmips-dsl-api/patches/500-portability.patch @@ -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]) |