From 4c6f9be7329a182fdee1d7a75214cd264b94610a Mon Sep 17 00:00:00 2001 From: John Crispin Date: Fri, 11 Mar 2011 08:21:21 +0000 Subject: [PATCH] [lantiq] * fixes dsl, ifxos, tapi and vmcc for .37 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26023 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/ltq-dsl/patches/100-dsl_compat.patch | 13 ++++++-- package/ltq-dsl/src/ifxmips_atm_core.c | 2 +- package/ltq-dsl/src/lantiq_mei.c | 2 +- package/ltq-ifxos/patches/120-linaro.patch | 11 +++++++ package/ltq-tapi/Makefile | 2 +- package/ltq-tapi/patches/linux-37.patch | 31 ++++++++++++++++++++ package/ltq-vmmc/Config.in | 5 +--- package/ltq-vmmc/Makefile | 28 +----------------- package/ltq-vmmc/patches/200-kernel-37.patch | 22 ++++++++++++++ 9 files changed, 80 insertions(+), 36 deletions(-) create mode 100644 package/ltq-ifxos/patches/120-linaro.patch create mode 100644 package/ltq-tapi/patches/linux-37.patch create mode 100644 package/ltq-vmmc/patches/200-kernel-37.patch diff --git a/package/ltq-dsl/patches/100-dsl_compat.patch b/package/ltq-dsl/patches/100-dsl_compat.patch index 334ac6736e..4897b33140 100644 --- a/package/ltq-dsl/patches/100-dsl_compat.patch +++ b/package/ltq-dsl/patches/100-dsl_compat.patch @@ -19,7 +19,16 @@ #include "drv_dsl_cpe_api.h" #include "drv_dsl_cpe_api_ioctl.h" -@@ -1058,6 +1059,7 @@ static void DSL_DRV_DebugInit(void) +@@ -72,7 +73,7 @@ + open: DSL_DRV_Open, + release: DSL_DRV_Release, + write: DSL_DRV_Write, +- ioctl: DSL_DRV_Ioctls, ++ unlocked_ioctl: DSL_DRV_Ioctls, + poll: DSL_DRV_Poll + }; + #else +@@ -1058,6 +1059,7 @@ /* Entry point of driver */ int __init DSL_ModuleInit(void) { @@ -27,7 +36,7 @@ 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) +@@ -1104,7 +1106,8 @@ } DSL_DRV_DevNodeInit(); diff --git a/package/ltq-dsl/src/ifxmips_atm_core.c b/package/ltq-dsl/src/ifxmips_atm_core.c index ae85d70650..55062d7455 100644 --- a/package/ltq-dsl/src/ifxmips_atm_core.c +++ b/package/ltq-dsl/src/ifxmips_atm_core.c @@ -2403,7 +2403,7 @@ static int __devinit ifx_atm_init(void) /* create devices */ for ( port_num = 0; port_num < ATM_PORT_NUMBER; port_num++ ) { - g_atm_priv_data.port[port_num].dev = atm_dev_register("ifxmips_atm", &g_ifx_atm_ops, -1, NULL); + g_atm_priv_data.port[port_num].dev = atm_dev_register("ifxmips_atm", NULL, &g_ifx_atm_ops, -1, NULL); if ( !g_atm_priv_data.port[port_num].dev ) { err("failed to register atm device %d!", port_num); ret = -EIO; diff --git a/package/ltq-dsl/src/lantiq_mei.c b/package/ltq-dsl/src/lantiq_mei.c index 7eeab33686..062b0286f9 100644 --- a/package/ltq-dsl/src/lantiq_mei.c +++ b/package/ltq-dsl/src/lantiq_mei.c @@ -200,7 +200,7 @@ static struct file_operations bsp_mei_operations = { open:IFX_MEI_Open, release:IFX_MEI_Release, write:IFX_MEI_Write, - ioctl:IFX_MEI_UserIoctls, + unlocked_ioctl:IFX_MEI_UserIoctls, }; static DSL_DEV_Device_t dsl_devices[BSP_MAX_DEVICES]; diff --git a/package/ltq-ifxos/patches/120-linaro.patch b/package/ltq-ifxos/patches/120-linaro.patch new file mode 100644 index 0000000000..da59014658 --- /dev/null +++ b/package/ltq-ifxos/patches/120-linaro.patch @@ -0,0 +1,11 @@ +--- a/src/include/linux/ifxos_linux_common.h ++++ b/src/include/linux/ifxos_linux_common.h +@@ -73,7 +73,7 @@ + # define __BYTE_ORDER __BIG_ENDIAN + /** set the common IFXOS byte order for BIG endian */ + # define IFXOS_BYTE_ORDER IFXOS_BIG_ENDIAN +-#elif ++#else + # error "missing endian definiton" + #endif + diff --git a/package/ltq-tapi/Makefile b/package/ltq-tapi/Makefile index ecaac2eeb4..6c530ac877 100644 --- a/package/ltq-tapi/Makefile +++ b/package/ltq-tapi/Makefile @@ -22,7 +22,7 @@ define KernelPackage/ltq-tapi SUBMENU:=Voice over IP TITLE:=Lantiq TAPI subsystem URL:=http://www.lantiq.com/ - DEPENDS:=+kmod-ltq-ifxos @TARGET_lantiq + DEPENDS:=+kmod-ltq-ifxos @TARGET_lantiq_xway FILES:=$(PKG_BUILD_DIR)/src/drv_tapi.ko AUTOLOAD:=$(call AutoLoad,20,drv_tapi) MAINTAINER:=John Crispin diff --git a/package/ltq-tapi/patches/linux-37.patch b/package/ltq-tapi/patches/linux-37.patch new file mode 100644 index 0000000000..6266ca14a8 --- /dev/null +++ b/package/ltq-tapi/patches/linux-37.patch @@ -0,0 +1,31 @@ +--- a/src/drv_tapi_linux.c ++++ b/src/drv_tapi_linux.c +@@ -213,7 +213,7 @@ + IFX_char_t *pRegDrvName = IFX_NULL; + IFX_int32_t ret = 0; + +- if (tapi_fops.ioctl == IFX_NULL) ++ if (tapi_fops.unlocked_ioctl == IFX_NULL) + { + #ifdef MODULE + tapi_fops.owner = THIS_MODULE; +@@ -221,7 +221,7 @@ + tapi_fops.read = ifx_tapi_read; + tapi_fops.write = ifx_tapi_write; + tapi_fops.poll = ifx_tapi_poll; +- tapi_fops.ioctl = ifx_tapi_ioctl; ++ tapi_fops.unlocked_ioctl = ifx_tapi_ioctl; + tapi_fops.open = ifx_tapi_open; + tapi_fops.release = ifx_tapi_release; + } +--- a/src/lib/lib_fifo/lib_fifo.c ++++ b/src/lib/lib_fifo/lib_fifo.c +@@ -41,7 +41,7 @@ + #ifdef LINUX + /* if linux/slab.h is not available, use the precessor linux/malloc.h */ + #include +-#elif VXWORKS ++#elif defined(VXWORKS) + #include + #endif /* LINUX */ + diff --git a/package/ltq-vmmc/Config.in b/package/ltq-vmmc/Config.in index 151adc2861..ed049c7243 100644 --- a/package/ltq-vmmc/Config.in +++ b/package/ltq-vmmc/Config.in @@ -1,13 +1,10 @@ choice prompt "device selection" depends on PACKAGE_kmod-ltq-vmmc - default VOICE_CPE_VMMC_WITH_DEVICE_DANUBE_extract + default VOICE_CPE_VMMC_WITH_DEVICE_DANUBE help Select the target device. - config VOICE_CPE_VMMC_WITH_DEVICE_DANUBE_extract - bool "Danube, Twinpass, Vinax - extract binaries" - config VOICE_CPE_VMMC_WITH_DEVICE_DANUBE bool "Danube, Twinpass, Vinax" diff --git a/package/ltq-vmmc/Makefile b/package/ltq-vmmc/Makefile index 380fe6fdef..51c00e99f0 100644 --- a/package/ltq-vmmc/Makefile +++ b/package/ltq-vmmc/Makefile @@ -22,7 +22,7 @@ define KernelPackage/ltq-vmmc SUBMENU:=Voice over IP TITLE:=TAPI LL driver for Voice Macro URL:=http://www.lantiq.com/ - DEPENDS:=+kmod-ltq-tapi @TARGET_lantiq + DEPENDS:=+kmod-ltq-tapi @TARGET_lantiq_xway FILES:=$(PKG_BUILD_DIR)/src/drv_vmmc.ko AUTOLOAD:=$(call AutoLoad,25,drv_vmmc) MAINTAINER:=John Crispin @@ -66,17 +66,6 @@ COEF_TARGET:=ifx_bbd_fxs.bin COEF_FILE:=coef_voip_ifx.tar.gz FW_DIR:=lib/firmware -ifeq ($(CONFIG_VOICE_CPE_VMMC_WITH_DEVICE_DANUBE_extract),y) - CONFIGURE_ARGS += --with-device=DANUBE - FW_TARGET:=danube_firmware.bin - FW_SOURCE:=danube_firmware.bin - FW_URL:=http://www.arcor.de/hilfe/files/pdf/ - FW_FILE=arcor_A800_452CPW_FW_1.02.206(20081201).bin - FW_MD5SUM:=19d9af4e369287a0f0abaed415cdac10 - COEF_TARGET:=danube_bbd_fxs.bin - COEF_FILE:=arcor_A800_452CPW_FW_1.02.206(20081201).bin - COEF_MD5SUM:=19d9af4e369287a0f0abaed415cdac10 -endif ifeq ($(CONFIG_VOICE_CPE_VMMC_WITH_DEVICE_DANUBE),y) CONFIGURE_ARGS += --with-device=DANUBE @@ -99,15 +88,6 @@ ifeq ($(CONFIG_VOICE_CPE_VMMC_WITH_DEVICE_VR9),y) # TODO: add fw/coef endif -ifeq ($(CONFIG_VOICE_CPE_VMMC_WITH_DEVICE_DANUBE_extract),y) -define Download/decode - FILE:=ifxmips_fw_decodev2.tar.bz2 - URL:=http://downloads.openwrt.org/sources/ - MD5SUM:=9f4ebfae5cb9d9e8fca46057a653ae27 -endef -$(eval $(call Download,decode)) -endif - define Download/firmware FILE:=$(FW_FILE) URL:=$(FW_URL) @@ -129,14 +109,8 @@ define Build/Configure mkdir -p \ $(PKG_BUILD_DIR)/coef \ $(PKG_BUILD_DIR)/firmware -ifeq ($(CONFIG_VOICE_CPE_VMMC_WITH_DEVICE_DANUBE_extract),y) - $(PLATFORM_DIR)/extract.sh $(DL_DIR) '$(FW_FILE)' - $(CP) $(DL_DIR)/voip.bin $(PKG_BUILD_DIR)/firmware/$(FW_TARGET) - $(CP) $(DL_DIR)/voip_coef.bin $(PKG_BUILD_DIR)/coef/$(COEF_TARGET) -else $(TAR) -C $(PKG_BUILD_DIR)/firmware -xvzf $(DL_DIR)/$(FW_FILE) $(TAR) -C $(PKG_BUILD_DIR)/coef -xvzf $(DL_DIR)/$(COEF_FILE) -endif (cd $(PKG_BUILD_DIR); aclocal && autoconf && automake) $(call Build/Configure/Default) endef diff --git a/package/ltq-vmmc/patches/200-kernel-37.patch b/package/ltq-vmmc/patches/200-kernel-37.patch new file mode 100644 index 0000000000..b89da4691a --- /dev/null +++ b/package/ltq-vmmc/patches/200-kernel-37.patch @@ -0,0 +1,22 @@ +--- a/src/drv_vmmc_init.c ++++ b/src/drv_vmmc_init.c +@@ -1594,7 +1594,7 @@ + #ifdef VMMC_DRIVER_UNLOAD_HOOK + if (VDevices[0].nDevState & DS_GPIO_RESERVED) + { +- IFX_int32_t ret; ++ IFX_int32_t ret = 0; + VMMC_DRIVER_UNLOAD_HOOK(ret); + if (!VMMC_SUCCESS(ret)) + { +--- a/src/mps/drv_mps_vmmc_linux.c ++++ b/src/mps/drv_mps_vmmc_linux.c +@@ -173,7 +173,7 @@ + static struct file_operations ifx_mps_fops = { + owner:THIS_MODULE, + poll:ifx_mps_poll, +- ioctl:ifx_mps_ioctl, ++ unlocked_ioctl:ifx_mps_ioctl, + open:ifx_mps_open, + release:ifx_mps_close + };