+++ /dev/null
-diff -Nru unicorn.orig/amu/amas.c unicorn/amu/amas.c
---- unicorn.orig/amu/amas.c 2006-10-05 01:21:33.937563500 +0300
-+++ unicorn/amu/amas.c 2006-10-05 01:21:19.608668000 +0300
-@@ -23,9 +23,10 @@
- // ADSL Modem Software calls this function to report any state changes
- void AMSW_ANT_reportModemStateChange(AMSW_ModemState p_ModemState)
- {
-+ char *s;
-+
- g_ModemState = p_ModemState;
-
-- char *s;
- switch(p_ModemState)
- {
- case C_AMSW_IDLE : s = "IDLE"; break;
-diff -Nru unicorn.orig/amu/amu.c unicorn/amu/amu.c
---- unicorn.orig/amu/amu.c 2006-10-05 01:21:33.937563500 +0300
-+++ unicorn/amu/amu.c 2006-10-05 01:21:19.608668000 +0300
-@@ -77,8 +77,14 @@
- extern unsigned long Vendor_Id_code_Globspan;
- unsigned long Vendor_Id_code_Globspan=0;
-
--extern "C" void HandleAtmError(void);
--extern "C" void HandleLeds(void);
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+ void HandleAtmError(void);
-+ void HandleLeds(void);
-+#ifdef __cplusplus
-+}
-+#endif
-
- unsigned long amu_init_modem(unsigned short MODE);
- unsigned long amu_init_modem(unsigned short MODE)
-@@ -165,24 +171,27 @@
- return l_RetCode;
- }
-
--void AMUTask(unsigned long,unsigned long , unsigned long , unsigned long )
-+void AMUTask(unsigned long Arg1, unsigned long Arg2, unsigned long Arg3, unsigned long Arg4)
- {
- unsigned long l_RetCode = C_AMSW_REJ;
- //static int l_Lit = 0;
- static bool PM_toggle = TRUE;
-
-- PRINT_ERROR("FmPollingRate=%ldms,InitTimeout=%ldms,ActTimeout=%ld\n",
-- FmPollingRate,InitTimeout,ActTimeout);
--
- unsigned long PM_FM_POLLING_RATE = FmPollingRate;
- unsigned long WAITFOR_SHOWTIME_COUNT = InitTimeout / PM_FM_POLLING_RATE;
- unsigned long WAITFOR_INIT_COUNT = ActTimeout / PM_FM_POLLING_RATE;
- unsigned long RETRY_WAIT_TIME = RETRY_WAIT_TIME_MIN_MSEC / PM_FM_POLLING_RATE;
-- if (RetryTime > RETRY_WAIT_TIME_MIN_MSEC) // STM Gian Set RetryTime Only if is Bigger then minimum value
-- RETRY_WAIT_TIME = RetryTime / PM_FM_POLLING_RATE;
- unsigned long INIT_POLLING_TIME = 5; //(??????)
- unsigned long WAITFOR_DISORDERLY_COUNT = 3;
-
-+ UINT delay = 0;
-+
-+ if (RetryTime > RETRY_WAIT_TIME_MIN_MSEC) // STM Gian Set RetryTime Only if is Bigger then minimum value
-+ RETRY_WAIT_TIME = RetryTime / PM_FM_POLLING_RATE;
-+
-+ PRINT_ERROR("FmPollingRate=%ldms,InitTimeout=%ldms,ActTimeout=%ld\n",
-+ FmPollingRate,InitTimeout,ActTimeout);
-+
- NEAR_LCDNI_COUNT = LCD_Trig / PM_FM_POLLING_RATE;
- NEAR_LCDI_COUNT = NEAR_LCDNI_COUNT;
- NEAR_LOS_COUNT = LOS_LOF_Trig / PM_FM_POLLING_RATE;
-@@ -194,8 +203,6 @@
- FAR_LOS_SHORT_COUNT = NEAR_LOS_COUNT;
- FAR_LOF_SHORT_COUNT = NEAR_LOS_COUNT;
-
-- UINT delay = 0;
--
- while (amu_go)
- {
- xtm_wkafter(500);
-@@ -279,7 +286,7 @@
- g_WaitForDisorderly++;
- if(g_WaitForDisorderly >= WAITFOR_DISORDERLY_COUNT)
- {
--
-+ int i;
-
- // if (RetryTime != 0)
- // msw_report_event(AMU_EVENT_RETRY,0);
-@@ -297,7 +304,7 @@
- if(l_RetCode != C_AMSW_ACK) {
- PRINT_ERROR("Error in AMSW_ANT_requestModemStateChange(C_AMSW_IDLE) = %d\n", l_RetCode);
- }
-- else for (int i=0; i<6; i++)
-+ else for (i=0; i<6; i++)
- {
- if (g_ModemState == C_AMSW_IDLE || GlobalRemove) break;
- xtm_wkafter(500);
-@@ -361,8 +368,8 @@
- //####################### Loss Of Signal ##############################
-
- if( ((g_def_bitmap_set.near_end.status & LOS) == LOS) ||
-- ((g_def_bitmap_set.near_end.status & LOS) == 0) &&
-- ((g_def_bitmap_set.near_end.change & LOS) == LOS) )
-+ (((g_def_bitmap_set.near_end.status & LOS) == 0) &&
-+ ((g_def_bitmap_set.near_end.change & LOS) == LOS)) )
- {
- g_NEAR_LOS++;
- }
-@@ -371,8 +378,8 @@
- g_NEAR_LOS = 0;
- }
- if( ((g_def_bitmap_set.far_end.status & LOS) == LOS) ||
-- ((g_def_bitmap_set.far_end.status & LOS) == 0) &&
-- ((g_def_bitmap_set.far_end.change & LOS) == LOS) )
-+ (((g_def_bitmap_set.far_end.status & LOS) == 0) &&
-+ ((g_def_bitmap_set.far_end.change & LOS) == LOS)) )
- {
- g_FAR_LOS++;
- }
-diff -Nru unicorn.orig/amu/bsp.h unicorn/amu/bsp.h
---- unicorn.orig/amu/bsp.h 2006-10-05 01:21:33.937563500 +0300
-+++ unicorn/amu/bsp.h 2006-10-05 01:21:19.608668000 +0300
-@@ -18,7 +18,9 @@
- #define DMT_IN_PIN0_MASK 0x0001 // GP_IN0 bit 0
- #define DMT_IN_PIN1_MASK 0x0002 // GP_IN1 bit 1
-
-+#ifdef __cplusplus
- extern "C" {
-+#endif
-
- unsigned short initializeBoard(void);
- unsigned long powerUp_Modem_Chipset (unsigned long Chipset);
-@@ -26,6 +28,8 @@
- unsigned long pull_Modem_Chipset_out_of_reset(unsigned long Chipset);
- unsigned long put_Modem_Chipset_in_reset(unsigned long Chipset);
-
-+#ifdef __cplusplus
- } // extern "C"
-+#endif
-
- #endif
-diff -Nru unicorn.orig/amu/bsp_pci.c unicorn/amu/bsp_pci.c
---- unicorn.orig/amu/bsp_pci.c 2006-10-05 01:21:33.937563500 +0300
-+++ unicorn/amu/bsp_pci.c 2006-10-05 01:21:19.608668000 +0300
-@@ -98,10 +98,18 @@
- return 0;
- }
-
--extern "C" void HandleAtmError(void)
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
-+void HandleAtmError(void)
- {
- }
-
--extern "C" void HandleLeds(void)
-+void HandleLeds(void)
- {
- }
-+
-+#ifdef __cplusplus
-+}
-+#endif
-diff -Nru unicorn.orig/msw/linrapi.c unicorn/msw/linrapi.c
---- unicorn.orig/msw/linrapi.c 2006-10-05 01:21:19.000000000 +0300
-+++ unicorn/msw/linrapi.c 2006-10-05 01:21:59.555164500 +0300
-@@ -201,7 +201,7 @@
- WARN("__cxa_pure_virtual called\n");
- }
-
--#if __GNUC__ >= 3
-+#if __GNUC__ >= 3 && defined(__cplusplus)
- extern void
- __builtin_delete(void *ptr)
- {
-diff -Nru unicorn.orig/msw/msw.c unicorn/msw/msw.c
---- unicorn.orig/msw/msw.c 2006-10-05 01:21:33.941563750 +0300
-+++ unicorn/msw/msw.c 2006-10-05 01:21:19.608668000 +0300
-@@ -6,7 +6,7 @@
- // Copyright STMicroelectronics 2000
- // Copyright F.H.L.P. 2000
- //----------------------------------------------------------------------
--#include <string.h>
-+// #include <string.h>
- #include "types.h"
- #include "tracetool.h"
- #include "hal.h"
-@@ -27,7 +27,7 @@
- extern bool L3_flag;
- extern unsigned long GlobalRemove;
-
--#if 1
-+#if 0
- extern void *operator new(size_t size)
- {
- void *ptr;
-@@ -186,8 +186,9 @@
- }
- else
- {
-+ int i;
- PRINT_ERROR("Waiting 5 sec to verify L3_executed\n");
-- for (int i=0; i<10; i++)
-+ for (i=0; i<10; i++)
- {
- // Abort everything on surprise removal
- if (GlobalRemove) return;
-diff -Nru unicorn.orig/unicorn_atm/unicorn_atmdrv.c unicorn/unicorn_atm/unicorn_atmdrv.c
---- unicorn.orig/unicorn_atm/unicorn_atmdrv.c 2006-10-05 01:21:33.941563750 +0300
-+++ unicorn/unicorn_atm/unicorn_atmdrv.c 2006-10-05 01:21:19.612668250 +0300
-@@ -101,7 +101,7 @@
- struct unicorn_atmdrv *unicorn_atmdrv = NULL;
-
- // driver parameters
--unsigned char *mac_address=NULL;
-+char mac_address[ETH_ALEN*2 + 1] = { 0x0 };
- #if DEBUG
- #ifdef ATM_DRIVER
- unsigned long DebugLevel=0; // ATM_D,DATA_D
-@@ -1293,10 +1293,10 @@
- return 0;
- }
-
--MODULE_PARM(mac_address, "s");
-+module_param_string(mac_address, mac_address, sizeof(mac_address), 0);
- #if DEBUG
- #ifdef ATM_DRIVER
--MODULE_PARM(DebugLevel, "i");
-+module_param(DebugLevel, ulong, 0);
- #endif
- #endif
-
-diff -Nru unicorn.orig/unicorn_eth/unicorn_ethdrv.c unicorn/unicorn_eth/unicorn_ethdrv.c
---- unicorn.orig/unicorn_eth/unicorn_ethdrv.c 2006-10-05 01:21:33.941563750 +0300
-+++ unicorn/unicorn_eth/unicorn_ethdrv.c 2006-10-05 01:21:19.612668250 +0300
-@@ -140,12 +140,12 @@
- struct unicorn_ethdrv *unicorn_ethdrv = NULL;
-
- // driver parameters
--static char *if_name = NULL;
--static unsigned char *mac_address=NULL;
-+static char if_name[IFNAMSIZ] = { 0x0 };
-+static char mac_address[ETH_ALEN*2 + 1] = { 0x0 };
- static int VPI= ATM_VPI_UNSPEC;
- static int VCI= ATM_VCI_UNSPEC;
--static char *PROTOCOL = NULL;
--static char *ENCAPS = NULL;
-+static char PROTOCOL[8] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
-+static char ENCAPS[11] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
- #if DEBUG
- #ifdef ETH_DRIVER
- unsigned long DebugLevel=0; // ATM_D,DATA_D
-@@ -1355,15 +1355,15 @@
- WARN("\n");
- }
-
--MODULE_PARM(if_name,"s");
--MODULE_PARM(mac_address, "s");
--MODULE_PARM(VPI, "i");
--MODULE_PARM(VCI, "i");
--MODULE_PARM(PROTOCOL, "s");
--MODULE_PARM(ENCAPS, "s");
-+module_param_string(if_name, if_name, sizeof(if_name), 0);
-+module_param_string(mac_address, mac_address, sizeof(mac_address), 0);
-+module_param(VPI, int, 0);
-+module_param(VCI, int, 0);
-+module_param_string(PROTOCOL, PROTOCOL, sizeof(PROTOCOL), 0);
-+module_param_string(ENCAPS, ENCAPS, sizeof(ENCAPS), 0);
- #if DEBUG
- #ifdef ETH_DRIVER
--MODULE_PARM(DebugLevel, "i");
-+module_param(DebugLevel, ulong, 0);
- #endif
- #endif
-
-diff -Nru unicorn.orig/unicorn_pci/unicorn_pcidrv.c unicorn/unicorn_pci/unicorn_pcidrv.c
---- unicorn.orig/unicorn_pci/unicorn_pcidrv.c 2006-10-05 01:21:33.945564000 +0300
-+++ unicorn/unicorn_pci/unicorn_pcidrv.c 2006-10-05 01:21:19.612668250 +0300
-@@ -2157,38 +2157,25 @@
- }
-
- /* module parameters for MSW */
--MODULE_PARM(ActivationMode, "i");
--//MODULE_PARM(ActivationTaskTimeout, "i");
--MODULE_PARM(ActTimeout, "i");
--MODULE_PARM(AutoActivation, "i");
--//MODULE_PARM(BreakOnEntry, "i");
--MODULE_PARM(DownstreamRate, "i");
--MODULE_PARM(eocTrace, "i");
--//MODULE_PARM(ExchangeDelay, "i");
--MODULE_PARM(FmPollingRate, "i");
--//MODULE_PARM(g_RefGain, "i");
--MODULE_PARM(g_TeqMode, "i");
--MODULE_PARM(InitTimeout, "i");
--MODULE_PARM(Interoperability, "i");
--MODULE_PARM(LCD_Trig, "i");
--MODULE_PARM(LOS_LOF_Trig, "i");
--MODULE_PARM(LoopbackMode, "i");
--MODULE_PARM(MswDebugLevel, "i");
--MODULE_PARM(RetryTime, "i");
--MODULE_PARM(setINITIALDAC, "i");
--//MODULE_PARM(TrainingDelay, "i");
--//MODULE_PARM(TruncateMode, "i");
--MODULE_PARM(useAFE, "i");
--//MODULE_PARM(useRFC019v, "i");
--//MODULE_PARM(useRFC029v, "i");
--//MODULE_PARM(useRFC033v, "i");
--//MODULE_PARM(useRFC040v, "i");
--MODULE_PARM(useRFC041v, "i");
--//MODULE_PARM(useRFCFixedRate, "i");
--//MODULE_PARM(useVCXO, "i");
--//MODULE_PARM(_no_TS652, "i");
-+module_param(ActivationMode, ulong, 0);
-+module_param(ActTimeout, ulong, 0);
-+module_param(AutoActivation, ulong, 0);
-+module_param(DownstreamRate, ulong, 0);
-+module_param(eocTrace, ulong, 0);
-+module_param(FmPollingRate, ulong, 0);
-+module_param(g_TeqMode, ushort, 0);
-+module_param(InitTimeout, ulong, 0);
-+module_param(Interoperability, ulong, 0);
-+module_param(LCD_Trig, ulong, 0);
-+module_param(LOS_LOF_Trig, ulong, 0);
-+module_param(LoopbackMode, ulong, 0);
-+module_param(MswDebugLevel, ulong, 0);
-+module_param(RetryTime, ulong, 0);
-+module_param(setINITIALDAC, ulong, 0);
-+module_param(useAFE, ulong, 0);
-+module_param(useRFC041v, ulong, 0);
- #if DEBUG
--MODULE_PARM(DebugLevel, "i");
-+module_param(DebugLevel, ulong, 0);
- #endif
-
- static int __init
-diff -Nru unicorn.orig/unicorn_usb/unicorn_usbdrv.c unicorn/unicorn_usb/unicorn_usbdrv.c
---- unicorn.orig/unicorn_usb/unicorn_usbdrv.c 2006-10-05 01:21:33.945564000 +0300
-+++ unicorn/unicorn_usb/unicorn_usbdrv.c 2006-10-05 01:21:19.616668500 +0300
-@@ -2289,39 +2289,32 @@
- };
-
- /* module parameters for MSW */
--MODULE_PARM(ActivationMode, "i");
--//MODULE_PARM(ActivationTaskTimeout, "i");
--MODULE_PARM(ActTimeout, "i");
--MODULE_PARM(AutoActivation, "i");
--//MODULE_PARM(BreakOnEntry, "i");
--MODULE_PARM(DownstreamRate, "i");
--MODULE_PARM(eocTrace, "i");
--MODULE_PARM(ExchangeDelay, "i");
--MODULE_PARM(FmPollingRate, "i");
--MODULE_PARM(g_RefGain, "i");
--MODULE_PARM(g_TeqMode, "i");
--MODULE_PARM(InitTimeout, "i");
--MODULE_PARM(Interoperability, "i");
--MODULE_PARM(LCD_Trig, "i");
--MODULE_PARM(LOS_LOF_Trig, "i");
--MODULE_PARM(LoopbackMode, "i");
--MODULE_PARM(MswDebugLevel, "i");
--MODULE_PARM(RetryTime, "i");
--//MODULE_PARM(setINITIALDAC, "i");
--MODULE_PARM(TrainingDelay, "i");
--//MODULE_PARM(TruncateMode, "i");
--MODULE_PARM(useAFE, "i");
--MODULE_PARM(useRFC019v, "i");
--MODULE_PARM(useRFC029v, "i");
--//MODULE_PARM(useRFC033v, "i");
--MODULE_PARM(useRFC040v, "i");
--MODULE_PARM(useRFC041v, "i");
--//MODULE_PARM(useRFCFixedRate, "i");
--MODULE_PARM(useVCXO, "i");
--MODULE_PARM(_no_TS652, "i");
--//MODULE_PARM(FrameNumber, "i");
-+module_param(ActivationMode, ulong, 0);
-+module_param(ActTimeout, ulong, 0);
-+module_param(AutoActivation, ulong, 0);
-+module_param(DownstreamRate, ulong, 0);
-+module_param(eocTrace, ulong, 0);
-+module_param(ExchangeDelay, ulong, 0);
-+module_param(FmPollingRate, ulong, 0);
-+module_param(g_RefGain, ulong, 0);
-+module_param(g_TeqMode, ushort, 0);
-+module_param(InitTimeout, ulong, 0);
-+module_param(Interoperability, ulong, 0);
-+module_param(LCD_Trig, ulong, 0);
-+module_param(LOS_LOF_Trig, ulong, 0);
-+module_param(LoopbackMode, ulong, 0);
-+module_param(MswDebugLevel, ulong, 0);
-+module_param(RetryTime, ulong, 0);
-+module_param(TrainingDelay, ulong, 0);
-+module_param(useAFE, ulong, 0);
-+module_param(useRFC019v, ulong, 0);
-+module_param(useRFC029v, ulong, 0);
-+module_param(useRFC040v, ulong, 0);
-+module_param(useRFC041v, ulong, 0);
-+module_param(useVCXO, ulong, 0);
-+module_param(_no_TS652, ulong, 0);
- #if DEBUG
--MODULE_PARM(DebugLevel, "i");
-+module_param(DebugLevel, ulong, 0);
- #endif
-
- //----------------------------------------------------------------------