[lantiq]
authorJohn Crispin <john@openwrt.org>
Fri, 11 Mar 2011 08:21:21 +0000 (08:21 +0000)
committerJohn Crispin <john@openwrt.org>
Fri, 11 Mar 2011 08:21:21 +0000 (08:21 +0000)
* fixes dsl, ifxos, tapi and vmcc for .37

SVN-Revision: 26023

package/ltq-dsl/patches/100-dsl_compat.patch
package/ltq-dsl/src/ifxmips_atm_core.c
package/ltq-dsl/src/lantiq_mei.c
package/ltq-ifxos/patches/120-linaro.patch [new file with mode: 0644]
package/ltq-tapi/Makefile
package/ltq-tapi/patches/linux-37.patch [new file with mode: 0644]
package/ltq-vmmc/Config.in
package/ltq-vmmc/Makefile
package/ltq-vmmc/patches/200-kernel-37.patch [new file with mode: 0644]

index 334ac6736e24b507e9e428aba4de7c306e254b36..4897b3314003a8840d30cdd6c2a8f89fb057f92f 100644 (file)
  
  #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();
index ae85d706507a0d322a61c1569024a4c3ecb0228f..55062d74556a55e519c65a33a9fb8c7e2d51a620 100644 (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;
index 7eeab336860b04d8f9e3f1916e2d90d7f2023b9f..062b0286f92514ec45e069c36b4c5b775ad8d358 100644 (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];
diff --git a/package/ltq-ifxos/patches/120-linaro.patch b/package/ltq-ifxos/patches/120-linaro.patch
new file mode 100644 (file)
index 0000000..da59014
--- /dev/null
@@ -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
index ecaac2eeb457044d291329652b2ba6c71b66d520..6c530ac8774db22b2ae8dd488226a7942a795b79 100644 (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>
diff --git a/package/ltq-tapi/patches/linux-37.patch b/package/ltq-tapi/patches/linux-37.patch
new file mode 100644 (file)
index 0000000..6266ca1
--- /dev/null
@@ -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 */
index 151adc28618b6f2b8368b955a0aa169afd7103b2..ed049c72435906d78d4bfaf1fe68b590a1535aae 100644 (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"
 
index 380fe6fdef5ff86353e258547bc50a0da21f723c..51c00e99f00b05aad75108a9163d6157f4375cc8 100644 (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
diff --git a/package/ltq-vmmc/patches/200-kernel-37.patch b/package/ltq-vmmc/patches/200-kernel-37.patch
new file mode 100644 (file)
index 0000000..b89da46
--- /dev/null
@@ -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
+ };