1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-24 15:39:32 +02:00
* fixes dsl, ifxos, tapi and vmcc for .37


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26023 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
blogic 2011-03-11 08:21:21 +00:00
parent 90f374771e
commit 6fa27f11f3
9 changed files with 80 additions and 36 deletions

View File

@ -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();

View File

@ -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;

View File

@ -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];

View File

@ -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

View File

@ -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 <blogic@openwrt.org>

View File

@ -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 <linux/slab.h>
-#elif VXWORKS
+#elif defined(VXWORKS)
#include <sys_drv_debug.h>
#endif /* LINUX */

View File

@ -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"

View File

@ -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 <blogic@openwrt.org>
@ -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

View File

@ -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
};