#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)
{
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();
/* 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;
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];
--- /dev/null
+--- 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
+
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 <blogic@openwrt.org>
--- /dev/null
+--- 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 <linux/slab.h>
+-#elif VXWORKS
++#elif defined(VXWORKS)
+ #include <sys_drv_debug.h>
+ #endif /* LINUX */
+
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"
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 <blogic@openwrt.org>
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
# 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)
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
--- /dev/null
+--- 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
+ };