On Thu, Jun 11, 2015 at 12:35:48PM +0000, Gujulan Elango, Hari Prasath (H.) 
wrote:
> From: Hari Prasath Gujulan Elango <hguju...@visteon.com>
> 
> This patch removes the timer related wrapper functions
> WILC_TimerCreate(),WILC_TimerStart(),WILC_TimerStop() and
> WILC_TimerDestroy() and uses kernel API's directly.In the process,the
> unused variables,files are also deleted.
> 
> Signed-off-by: Hari Prasath Gujulan Elango <hguju...@visteon.com>
> ---
>  drivers/staging/wilc1000/host_interface.c         | 102 ++++++------------
>  drivers/staging/wilc1000/host_interface.h         |   6 +-
>  drivers/staging/wilc1000/linux_wlan.c             |   4 +-
>  drivers/staging/wilc1000/wilc_oswrapper.h         |   3 -
>  drivers/staging/wilc1000/wilc_platform.h          |   2 -
>  drivers/staging/wilc1000/wilc_timer.c             |  45 --------
>  drivers/staging/wilc1000/wilc_timer.h             | 126 
> ----------------------
>  drivers/staging/wilc1000/wilc_wfi_cfgoperations.c |  29 +++--
>  8 files changed, 54 insertions(+), 263 deletions(-)
>  delete mode 100644 drivers/staging/wilc1000/wilc_timer.c
>  delete mode 100644 drivers/staging/wilc1000/wilc_timer.h
> 
> diff --git a/drivers/staging/wilc1000/host_interface.c 
> b/drivers/staging/wilc1000/host_interface.c
> index 1ecb373..93e86d4 100644
> --- a/drivers/staging/wilc1000/host_interface.c
> +++ b/drivers/staging/wilc1000/host_interface.c
> @@ -8,7 +8,7 @@ extern WILC_Sint32 TransportDeInit(void);
>  extern u8 connecting;
>  
>  #ifdef DISABLE_PWRSAVE_AND_SCAN_DURING_IP
> -extern WILC_TimerHandle hDuringIpTimer;
> +extern struct timer_list hDuringIpTimer;
>  #endif
>  
>  extern WILC_Bool bEnablePS;
> @@ -550,7 +550,7 @@ static struct semaphore hSemHostIFthrdEnd;
>  struct semaphore hSemDeinitDrvHandle;
>  static struct semaphore hWaitResponse;
>  struct semaphore hSemHostIntDeinit;
> -WILC_TimerHandle g_hPeriodicRSSI;
> +struct timer_list g_hPeriodicRSSI;
>  
>  
>  
> @@ -1383,7 +1383,7 @@ static WILC_Sint32 Handle_Scan(void *drvHandler, 
> tstrHostIFscanAttr *pstrHostIFs
>  
>       WILC_CATCH(s32Error)
>       {
> -             WILC_TimerStop(&(pstrWFIDrv->hScanTimer), NULL);
> +             del_timer(&(pstrWFIDrv->hScanTimer));
>               /*if there is an ongoing scan request*/
>               Handle_ScanDone(drvHandler, SCAN_EVENT_ABORTED);
>       }
> @@ -2004,7 +2004,7 @@ static WILC_Sint32 Handle_Connect(void *drvHandler, 
> tstrHostIFconnectAttr *pstrH
>       {
>               tstrConnectInfo strConnectInfo;
>  
> -             WILC_TimerStop(&(pstrWFIDrv->hConnectTimer), NULL);
> +             del_timer(&(pstrWFIDrv->hConnectTimer));
>  
>               PRINT_D(HOSTINF_DBG, "could not start connecting to the 
> required network\n");
>  
> @@ -2518,7 +2518,7 @@ static WILC_Sint32 Handle_RcvdGnrlAsyncInfo(void 
> *drvHandler, tstrRcvdGnrlAsyncI
>                       }
>  
>  
> -                     WILC_TimerStop(&(pstrWFIDrv->hConnectTimer), NULL);
> +                     del_timer(&(pstrWFIDrv->hConnectTimer));
>                       
> pstrWFIDrv->strWILC_UsrConnReq.pfUserConnectResult(CONN_DISCONN_EVENT_CONN_RESP,
>                                                                          
> &strConnectInfo,
>                                                                          
> u8MacStatus,
> @@ -2542,7 +2542,7 @@ static WILC_Sint32 Handle_RcvdGnrlAsyncInfo(void 
> *drvHandler, tstrRcvdGnrlAsyncI
>                               #ifdef DISABLE_PWRSAVE_AND_SCAN_DURING_IP
>                               PRINT_D(GENERIC_DBG, "Obtaining an IP, Disable 
> Scan\n");
>                               g_obtainingIP = WILC_TRUE;
> -                             WILC_TimerStart(&hDuringIpTimer, 10000, NULL, 
> NULL);
> +                             mod_timer(&hDuringIpTimer, (jiffies + 
> msecs_to_jiffies(10000)));
>                               #endif
>  
>                               #ifdef WILC_PARSE_SCAN_IN_HOST
> @@ -2597,7 +2597,7 @@ static WILC_Sint32 Handle_RcvdGnrlAsyncInfo(void 
> *drvHandler, tstrRcvdGnrlAsyncI
>  
>                       if (pstrWFIDrv->strWILC_UsrScanReq.pfUserScanResult) {
>                               PRINT_D(HOSTINF_DBG, "\n\n<< Abort the running 
> OBSS Scan >> \n\n");
> -                             WILC_TimerStop(&(pstrWFIDrv->hScanTimer), NULL);
> +                             del_timer(&(pstrWFIDrv->hScanTimer));
>                               Handle_ScanDone((void *)pstrWFIDrv, 
> SCAN_EVENT_ABORTED);
>                       }
>  
> @@ -2674,7 +2674,7 @@ static WILC_Sint32 Handle_RcvdGnrlAsyncInfo(void 
> *drvHandler, tstrRcvdGnrlAsyncI
>                       PRINT_D(HOSTINF_DBG, "Received MAC_DISCONNECTED from 
> the FW while scanning\n");
>                       PRINT_D(HOSTINF_DBG, "\n\n<< Abort the running Scan >> 
> \n\n");
>                       /*Abort the running scan*/
> -                     WILC_TimerStop(&(pstrWFIDrv->hScanTimer), NULL);
> +                     del_timer(&(pstrWFIDrv->hScanTimer));
>                       if (pstrWFIDrv->strWILC_UsrScanReq.pfUserScanResult) {
>                               Handle_ScanDone((void *)pstrWFIDrv, 
> SCAN_EVENT_ABORTED);
>  
> @@ -3110,7 +3110,7 @@ static void Handle_Disconnect(void *drvHandler)
>               strDisconnectNotifInfo.ie_len = 0;
>  
>               if (pstrWFIDrv->strWILC_UsrScanReq.pfUserScanResult) {
> -                     WILC_TimerStop(&(pstrWFIDrv->hScanTimer), NULL);
> +                     del_timer(&(pstrWFIDrv->hScanTimer));
>                       
> pstrWFIDrv->strWILC_UsrScanReq.pfUserScanResult(SCAN_EVENT_ABORTED, NULL,
>                                                                       
> pstrWFIDrv->strWILC_UsrScanReq.u32UserScanPvoid, NULL);
>  
> @@ -3123,7 +3123,7 @@ static void Handle_Disconnect(void *drvHandler)
>                       /*Stop connect timer, if connection in progress*/
>                       if (pstrWFIDrv->enuHostIFstate == 
> HOST_IF_WAITING_CONN_RESP) {
>                               PRINT_D(HOSTINF_DBG, "Upper layer requested 
> termination of connection\n");
> -                             WILC_TimerStop(&(pstrWFIDrv->hConnectTimer), 
> NULL);
> +                             del_timer(&(pstrWFIDrv->hConnectTimer));
>                       }
>  
>                       
> pstrWFIDrv->strWILC_UsrConnReq.pfUserConnectResult(CONN_DISCONN_EVENT_DISCONN_NOTIF,
>  NULL,
> @@ -3895,7 +3895,8 @@ static int Handle_RemainOnChan(void *drvHandler, 
> tstrHostIfRemainOnChan *pstrHos
>       WILC_CATCH(-1)
>       {
>               P2P_LISTEN_STATE = 1;
> -             WILC_TimerStart(&(pstrWFIDrv->hRemainOnChannel), 
> pstrHostIfRemainOnChan->u32duration, (void *)pstrWFIDrv, NULL);
> +             pstrWFIDrv->hRemainOnChannel.data = (unsigned long)pstrWFIDrv;
> +             mod_timer(&(pstrWFIDrv->hRemainOnChannel), (jiffies + 
> msecs_to_jiffies(pstrHostIfRemainOnChan->u32duration)));
>  
>               /*Calling CFG ready_on_channel*/
>               if (pstrWFIDrv->strHostIfRemainOnChan.pRemainOnChanReady) {
> @@ -4033,7 +4034,7 @@ static void ListenTimerCB(void *pvArg)
>       tstrHostIFmsg strHostIFmsg;
>       tstrWILC_WFIDrv *pstrWFIDrv = (tstrWILC_WFIDrv *)pvArg;
>       /*Stopping remain-on-channel timer*/
> -     WILC_TimerStop(&(pstrWFIDrv->hRemainOnChannel), NULL);
> +     del_timer(&(pstrWFIDrv->hRemainOnChannel));
>  
>       /* prepare the Timer Callback message */
>       WILC_memset(&strHostIFmsg, 0, sizeof(tstrHostIFmsg));
> @@ -4446,7 +4447,7 @@ static int hostIFthread(void *pvArg)
>                       break;
>  
>               case HOST_IF_MSG_RCVD_SCAN_COMPLETE:
> -                     WILC_TimerStop(&(pstrWFIDrv->hScanTimer), NULL);
> +                     del_timer(&(pstrWFIDrv->hScanTimer));
>                       PRINT_D(HOSTINF_DBG, "scan completed successfully\n");
>  
>                       /*BugID_5213*/
> @@ -5610,7 +5611,8 @@ WILC_Sint32 host_int_set_join_req(WILC_WFIDrvHandle 
> hWFIDrv, u8 *pu8bssid,
>       }
>  
>       enuScanConnTimer = CONNECT_TIMER;
> -     WILC_TimerStart(&(pstrWFIDrv->hConnectTimer), HOST_IF_CONNECT_TIMEOUT, 
> (void *) hWFIDrv, NULL);
> +     pstrWFIDrv->hConnectTimer.data = (unsigned long)hWFIDrv;
> +     mod_timer(&(pstrWFIDrv->hConnectTimer), (jiffies + 
> msecs_to_jiffies(HOST_IF_CONNECT_TIMEOUT)));
>  
>       WILC_CATCH(s32Error)
>       {
> @@ -6350,7 +6352,8 @@ WILC_Sint32 host_int_scan(WILC_WFIDrvHandle hWFIDrv, u8 
> u8ScanSource,
>  
>       enuScanConnTimer = SCAN_TIMER;
>       PRINT_D(HOSTINF_DBG, ">> Starting the SCAN timer\n");
> -     WILC_TimerStart(&(pstrWFIDrv->hScanTimer), HOST_IF_SCAN_TIMEOUT, (void 
> *) hWFIDrv, NULL);
> +     pstrWFIDrv->hScanTimer.data = (unsigned long)hWFIDrv;
> +     mod_timer(&(pstrWFIDrv->hScanTimer), (jiffies + 
> msecs_to_jiffies(HOST_IF_SCAN_TIMEOUT)));
>  
>  
>       WILC_CATCH(s32Error)
> @@ -6573,7 +6576,8 @@ void GetPeriodicRSSI(void *pvArg)
>                       return;
>               }
>       }
> -     WILC_TimerStart(&(g_hPeriodicRSSI), 5000, (void *)pstrWFIDrv, NULL);
> +     g_hPeriodicRSSI.data = (unsigned long)pstrWFIDrv;
> +     mod_timer(&(g_hPeriodicRSSI), (jiffies + msecs_to_jiffies(5000)));
>  }
>  
>  
> @@ -6669,36 +6673,19 @@ WILC_Sint32 host_int_init(WILC_WFIDrvHandle *phWFIDrv)
>                       s32Error = WILC_FAIL;
>                       goto _fail_mq_;
>               }
> -             s32Error = WILC_TimerCreate(&(g_hPeriodicRSSI), 
> GetPeriodicRSSI, NULL);
> -             if (s32Error < 0) {
> -                     PRINT_ER("Failed to creat Timer\n");
> -                     goto _fail_timer_1;
> -             }
> -             WILC_TimerStart(&(g_hPeriodicRSSI), 5000, (void *)pstrWFIDrv, 
> NULL);
> +             setup_timer(&g_hPeriodicRSSI, (void(*)(unsigned 
> long))GetPeriodicRSSI, 0);
> +             g_hPeriodicRSSI.data = (unsigned long)pstrWFIDrv;
> +             mod_timer(&(g_hPeriodicRSSI), (jiffies + 
> msecs_to_jiffies(5000)));
>  
>       }
>  
>  
> -     s32Error = WILC_TimerCreate(&(pstrWFIDrv->hScanTimer), TimerCB_Scan, 
> NULL);
> -     if (s32Error < 0) {
> -             PRINT_ER("Failed to creat Timer\n");
> -             goto _fail_thread_;
> -     }
> -
> -     s32Error = WILC_TimerCreate(&(pstrWFIDrv->hConnectTimer), 
> TimerCB_Connect, NULL);
> -     if (s32Error < 0) {
> -             PRINT_ER("Failed to creat Timer\n");
> -             goto _fail_timer_1;
> -     }
> -
> +     setup_timer(&pstrWFIDrv->hScanTimer, (void(*)(unsigned 
> long))TimerCB_Scan, 0);
> +     setup_timer(&pstrWFIDrv->hConnectTimer, (void(*)(unsigned 
> long))TimerCB_Connect, 0);
>  
>       #ifdef WILC_P2P
>       /*Remain on channel timer*/
> -     s32Error = WILC_TimerCreate(&(pstrWFIDrv->hRemainOnChannel), 
> ListenTimerCB, NULL);
> -     if (s32Error < 0) {
> -             PRINT_ER("Failed to creat Remain-on-channel Timer\n");
> -             goto _fail_timer_3;
> -     }
> +     setup_timer(&pstrWFIDrv->hRemainOnChannel, (void(*)(unsigned 
> long))ListenTimerCB, 0);
>       #endif
>  
>       sema_init(&(pstrWFIDrv->gtOsCfgValuesSem), 1);
> @@ -6760,15 +6747,12 @@ _fail_mem_:
>       if (pstrWFIDrv != NULL)
>               WILC_FREE(pstrWFIDrv);
>  #ifdef WILC_P2P
> -_fail_timer_3:
> -     WILC_TimerDestroy(&(pstrWFIDrv->hRemainOnChannel), NULL);
> +     del_timer_sync(&(pstrWFIDrv->hRemainOnChannel));
>  #endif
>  _fail_timer_2:
>       up(&(pstrWFIDrv->gtOsCfgValuesSem));
> -     WILC_TimerDestroy(&(pstrWFIDrv->hConnectTimer), NULL);
> -_fail_timer_1:
> -     WILC_TimerDestroy(&(pstrWFIDrv->hScanTimer), NULL);
> -_fail_thread_:
> +     del_timer_sync(&(pstrWFIDrv->hConnectTimer));
> +     del_timer_sync(&(pstrWFIDrv->hScanTimer));
>       kthread_stop(HostIFthreadHandler);
>  _fail_mq_:
>       WILC_MsgQueueDestroy(&gMsgQHostIF, NULL);
> @@ -6816,25 +6800,12 @@ WILC_Sint32 host_int_deinit(WILC_WFIDrvHandle hWFIDrv)
>       /*BugID_5348*/
>       /*Destroy all timers before acquiring hSemDeinitDrvHandle*/
>       /*to guarantee handling all messages befor proceeding*/
> -     if (WILC_TimerDestroy(&(pstrWFIDrv->hScanTimer), NULL)) {
> -             PRINT_D(HOSTINF_DBG, ">> Scan timer is active \n");
> -             /* msleep(HOST_IF_SCAN_TIMEOUT+1000); */
> -     }
> -
> -     if (WILC_TimerDestroy(&(pstrWFIDrv->hConnectTimer), NULL)) {
> -             PRINT_D(HOSTINF_DBG, ">> Connect timer is active \n");
> -             /* msleep(HOST_IF_CONNECT_TIMEOUT+1000); */
> -     }
> -
> -
> -     if (WILC_TimerDestroy(&(g_hPeriodicRSSI), NULL)) {
> -             PRINT_D(HOSTINF_DBG, ">> Connect timer is active \n");
> -             /* msleep(HOST_IF_CONNECT_TIMEOUT+1000); */
> -     }
> -
> +     del_timer_sync(&(pstrWFIDrv->hScanTimer));
> +     del_timer_sync(&(pstrWFIDrv->hConnectTimer));
> +     del_timer_sync(&(g_hPeriodicRSSI));
>       #ifdef WILC_P2P
>       /*Destroy Remain-onchannel Timer*/
> -     WILC_TimerDestroy(&(pstrWFIDrv->hRemainOnChannel), NULL);
> +     del_timer_sync(&(pstrWFIDrv->hRemainOnChannel));
>       #endif
>  
>       host_int_set_wfi_drv_handler((WILC_Uint32)NULL);
> @@ -6864,10 +6835,7 @@ WILC_Sint32 host_int_deinit(WILC_WFIDrvHandle hWFIDrv)
>       WILC_memset(&strHostIFmsg, 0, sizeof(tstrHostIFmsg));
>  
>       if (clients_count == 1) {
> -             if (WILC_TimerDestroy(&g_hPeriodicRSSI, NULL)) {
> -                     PRINT_D(HOSTINF_DBG, ">> Connect timer is active \n");
> -                     /* msleep(HOST_IF_CONNECT_TIMEOUT+1000); */
> -             }
> +             del_timer_sync(&g_hPeriodicRSSI);
>               strHostIFmsg.u16MsgId = HOST_IF_MSG_EXIT;
>               strHostIFmsg.drvHandler = hWFIDrv;
>  
> @@ -7147,7 +7115,7 @@ WILC_Sint32 
> host_int_ListenStateExpired(WILC_WFIDrvHandle hWFIDrv, WILC_Uint32 u
>       }
>  
>       /*Stopping remain-on-channel timer*/
> -     WILC_TimerStop(&(pstrWFIDrv->hRemainOnChannel), NULL);
> +     del_timer(&(pstrWFIDrv->hRemainOnChannel));
>  
>       /* prepare the timer fire Message */
>       WILC_memset(&strHostIFmsg, 0, sizeof(tstrHostIFmsg));
> diff --git a/drivers/staging/wilc1000/host_interface.h 
> b/drivers/staging/wilc1000/host_interface.h
> index d03a575..8b2af10 100644
> --- a/drivers/staging/wilc1000/host_interface.h
> +++ b/drivers/staging/wilc1000/host_interface.h
> @@ -431,10 +431,10 @@ typedef struct {
>       struct semaphore hSemGetCHNL;
>       struct semaphore hSemInactiveTime;
>  /* timer handlers */
> -     WILC_TimerHandle hScanTimer;
> -     WILC_TimerHandle hConnectTimer;
> +     struct timer_list hScanTimer;
> +     struct timer_list hConnectTimer;
>       #ifdef WILC_P2P
> -     WILC_TimerHandle hRemainOnChannel;
> +     struct timer_list hRemainOnChannel;
>       #endif
>  
>       WILC_Bool IFC_UP;
> diff --git a/drivers/staging/wilc1000/linux_wlan.c 
> b/drivers/staging/wilc1000/linux_wlan.c
> index fa768f8..e82bacb 100644
> --- a/drivers/staging/wilc1000/linux_wlan.c
> +++ b/drivers/staging/wilc1000/linux_wlan.c
> @@ -72,7 +72,7 @@ extern void resolve_disconnect_aberration(void *drvHandler);
>  extern u8 gau8MulticastMacAddrList[WILC_MULTICAST_TABLE_SIZE][ETH_ALEN];
>  void wilc1000_wlan_deinit(linux_wlan_t *nic);
>  #ifdef DISABLE_PWRSAVE_AND_SCAN_DURING_IP
> -extern WILC_TimerHandle hDuringIpTimer;
> +extern struct timer_list hDuringIpTimer;
>  #endif
>  
>  static int linux_wlan_device_power(int on_off)
> @@ -303,7 +303,7 @@ static int dev_state_ev_handler(struct notifier_block 
> *this, unsigned long event
>               if (nic->iftype == STATION_MODE || nic->iftype == CLIENT_MODE) {
>                       pstrWFIDrv->IFC_UP = 1;
>                       g_obtainingIP = WILC_FALSE;
> -                     WILC_TimerStop(&hDuringIpTimer, NULL);
> +                     del_timer(&hDuringIpTimer);
>                       PRINT_D(GENERIC_DBG, "IP obtained , enable scan\n");
>               }
>  
> diff --git a/drivers/staging/wilc1000/wilc_oswrapper.h 
> b/drivers/staging/wilc1000/wilc_oswrapper.h
> index 4b4cfa2..d7c182e 100644
> --- a/drivers/staging/wilc1000/wilc_oswrapper.h
> +++ b/drivers/staging/wilc1000/wilc_oswrapper.h
> @@ -44,9 +44,6 @@ typedef char WILC_Char;
>  /* Sleep support */
>  #include "wilc_sleep.h"
>  
> -/* Timer support */
> -#include "wilc_timer.h"
> -
>  /* Memory support */
>  #include "wilc_memory.h"
>  
> diff --git a/drivers/staging/wilc1000/wilc_platform.h 
> b/drivers/staging/wilc1000/wilc_platform.h
> index ae42bbc..4dcc2de 100644
> --- a/drivers/staging/wilc1000/wilc_platform.h
> +++ b/drivers/staging/wilc1000/wilc_platform.h
> @@ -16,8 +16,6 @@
>   *      OS specific types
>   *******************************************************************/
>  
> -typedef struct timer_list WILC_TimerHandle;
> -
>  
>  
>  /* Message Queue type is a structure */
> diff --git a/drivers/staging/wilc1000/wilc_timer.c 
> b/drivers/staging/wilc1000/wilc_timer.c
> deleted file mode 100644
> index 7d2e6f1..0000000
> --- a/drivers/staging/wilc1000/wilc_timer.c
> +++ /dev/null
> @@ -1,45 +0,0 @@
> -
> -#include "wilc_oswrapper.h"
> -
> -WILC_ErrNo WILC_TimerCreate(WILC_TimerHandle *pHandle,
> -     tpfWILC_TimerFunction pfCallback, tstrWILC_TimerAttrs *pstrAttrs)
> -{
> -     WILC_ErrNo s32RetStatus = WILC_SUCCESS;
> -     setup_timer(pHandle, (void(*)(unsigned long))pfCallback, 0);
> -
> -     return s32RetStatus;
> -}
> -
> -WILC_ErrNo WILC_TimerDestroy(WILC_TimerHandle *pHandle,
> -     tstrWILC_TimerAttrs *pstrAttrs)
> -{
> -     WILC_ErrNo s32RetStatus = WILC_FAIL;
> -     if (pHandle != NULL) {
> -             s32RetStatus = del_timer_sync(pHandle);
> -             pHandle = NULL;
> -     }
> -
> -     return s32RetStatus;
> -}
> -
> -
> -WILC_ErrNo WILC_TimerStart(WILC_TimerHandle *pHandle, WILC_Uint32 u32Timeout,
> -     void *pvArg, tstrWILC_TimerAttrs *pstrAttrs)
> -{
> -     WILC_ErrNo s32RetStatus = WILC_FAIL;
> -     if (pHandle != NULL) {
> -             pHandle->data = (unsigned long)pvArg;
> -             s32RetStatus = mod_timer(pHandle, (jiffies + 
> msecs_to_jiffies(u32Timeout)));
> -     }
> -     return s32RetStatus;
> -}
> -
> -WILC_ErrNo WILC_TimerStop(WILC_TimerHandle *pHandle,
> -     tstrWILC_TimerAttrs *pstrAttrs)
> -{
> -     WILC_ErrNo s32RetStatus = WILC_FAIL;
> -     if (pHandle != NULL)
> -             s32RetStatus = del_timer(pHandle);
> -
> -     return s32RetStatus;
> -}
> diff --git a/drivers/staging/wilc1000/wilc_timer.h 
> b/drivers/staging/wilc1000/wilc_timer.h
> deleted file mode 100644
> index 72b2715..0000000
> --- a/drivers/staging/wilc1000/wilc_timer.h
> +++ /dev/null
> @@ -1,126 +0,0 @@
> -#ifndef __WILC_TIMER_H__
> -#define __WILC_TIMER_H__
> -
> -/*!
> - *  @file    wilc_timer.h
> - *  @brief   Timer (One Shot and Periodic) OS wrapper functionality
> - *  @author  syounan
> - *  @sa              wilc_oswrapper.h top level OS wrapper file
> - *  @date    16 Aug 2010
> - *  @version 1.0
> - */
> -
> -typedef void (*tpfWILC_TimerFunction)(void *);
> -
> -/*!
> - *  @struct             tstrWILC_TimerAttrs
> - *  @brief           Timer API options
> - *  @author          syounan
> - *  @date            16 Aug 2010
> - *  @version         1.0
> - */
> -typedef struct {
> -     /* a dummy member to avoid compiler errors*/
> -     u8 dummy;
> -} tstrWILC_TimerAttrs;
> -
> -/*!
> - *  @brief   Creates a new timer
> - *  @details Timers are a useful utility to execute some callback function
> - *              in the future.
> - *              A timer object has 3 states : IDLE, PENDING and EXECUTING
> - *              IDLE : initial timer state after creation, no execution for 
> the
> - *              callback function is planned
> - *              PENDING : a request to execute the callback function is made
> - *              using WILC_TimerStart.
> - *              EXECUTING : the timer has expired and its callback is now
> - *              executing, when execution is done the timer returns to 
> PENDING
> - *              if the feature CONFIG_WILC_TIMER_PERIODIC is enabled and
> - *              the flag tstrWILC_TimerAttrs.bPeriodicTimer is set. 
> otherwise the
> - *              timer will return to IDLE
> - *  @param[out]      pHandle handle to the newly created timer object
> - *  @param[in]       pfEntry pointer to the callback function to be called 
> when the
> - *              timer expires
> - *              the underlaying OS may put many restrictions on what can be
> - *              called inside a timer's callback, as a general rule no 
> blocking
> - *              operations (IO or semaphore Acquision) should be perfomred
> - *              It is recommended that the callback will be as short as 
> possible
> - *              and only flags other threads to do the actual work
> - *              also it should be noted that the underlaying OS maynot give 
> any
> - *              guarentees on which contect this callback will execute in
> - *  @param[in]       pstrAttrs Optional attributes, NULL for default
> - *  @return  Error code indicating sucess/failure
> - *  @sa              WILC_TimerAttrs
> - *  @author  syounan
> - *  @date    16 Aug 2010
> - *  @version 1.0
> - */
> -WILC_ErrNo WILC_TimerCreate(WILC_TimerHandle *pHandle,
> -                         tpfWILC_TimerFunction pfCallback, 
> tstrWILC_TimerAttrs *pstrAttrs);
> -
> -
> -/*!
> - *  @brief   Destroys a given timer
> - *  @details This will destroy a given timer freeing any resources used by it
> - *              if the timer was PENDING Then must be cancelled as well(i.e.
> - *              goes to      IDLE, same effect as calling WILC_TimerCancel 
> first)
> - *              if the timer was EXECUTING then the callback will be allowed 
> to
> - *              finish first then all resources are freed
> - *  @param[in]       pHandle handle to the timer object
> - *  @param[in]       pstrAttrs Optional attributes, NULL for default
> - *  @return  Error code indicating sucess/failure
> - *  @sa              WILC_TimerAttrs
> - *  @author  syounan
> - *  @date    16 Aug 2010
> - *  @version 1.0
> - */
> -WILC_ErrNo WILC_TimerDestroy(WILC_TimerHandle *pHandle,
> -                          tstrWILC_TimerAttrs *pstrAttrs);
> -
> -/*!
> - *  @brief   Starts a given timer
> - *  @details This function will move the timer to the PENDING state until the
> - *              given time expires (in msec) then the callback function will 
> be
> - *              executed (timer in EXECUTING state) after execution is dene 
> the
> - *              timer either goes to IDLE (if bPeriodicTimer==WILC_FALSE) or
> - *              PENDING with same timeout value (if 
> bPeriodicTimer==WILC_TRUE)
> - *  @param[in]       pHandle handle to the timer object
> - *  @param[in]       u32Timeout timeout value in msec after witch the 
> callback
> - *              function will be executed. Timeout value of 0 is not allowed 
> for
> - *              periodic timers
> - *  @param[in]       pstrAttrs Optional attributes, NULL for default,
> - *              set bPeriodicTimer to run this timer as a periodic timer
> - *  @return  Error code indicating sucess/failure
> - *  @sa              WILC_TimerAttrs
> - *  @author  syounan
> - *  @date    16 Aug 2010
> - *  @version 1.0
> - */
> -WILC_ErrNo WILC_TimerStart(WILC_TimerHandle *pHandle, WILC_Uint32 
> u32Timeout, void *pvArg,
> -                        tstrWILC_TimerAttrs *pstrAttrs);
> -
> -
> -/*!
> - *  @brief   Stops a given timer
> - *  @details This function will move the timer to the IDLE state cancelling
> - *              any sheduled callback execution.
> - *              if this function is called on a timer already in the IDLE 
> state
> - *              it will have no effect.
> - *              if this function is called on a timer in EXECUTING state
> - *              (callback has already started) it will wait until executing 
> is
> - *              done then move the timer to the IDLE state (which is trivial
> - *              work if the timer is non periodic)
> - *  @param[in]       pHandle handle to the timer object
> - *  @param[in]       pstrAttrs Optional attributes, NULL for default,
> - *  @return  Error code indicating sucess/failure
> - *  @sa              WILC_TimerAttrs
> - *  @author  syounan
> - *  @date    16 Aug 2010
> - *  @version 1.0
> - */
> -WILC_ErrNo WILC_TimerStop(WILC_TimerHandle *pHandle,
> -                       tstrWILC_TimerAttrs *pstrAttrs);
> -
> -
> -
> -#endif
> diff --git a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c 
> b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
> index 5844eba..57955e2 100644
> --- a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
> +++ b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
> @@ -33,9 +33,9 @@ extern int mac_close(struct net_device *ndev);
>  tstrNetworkInfo astrLastScannedNtwrksShadow[MAX_NUM_SCANNED_NETWORKS_SHADOW];
>  WILC_Uint32 u32LastScannedNtwrksCountShadow;
>  #ifdef DISABLE_PWRSAVE_AND_SCAN_DURING_IP
> -WILC_TimerHandle hDuringIpTimer;
> +struct timer_list hDuringIpTimer;
>  #endif
> -WILC_TimerHandle hAgingTimer;
> +struct timer_list hAgingTimer;
>  static u8 op_ifcs;
>  extern u8 u8ConnectedSSID[6];
>  
> @@ -148,7 +148,7 @@ void clear_shadow_scan(void *pUserVoid)
>       int i;
>       priv = (struct WILC_WFI_priv *)pUserVoid;
>       if (op_ifcs == 0) {
> -             WILC_TimerDestroy(&hAgingTimer, NULL);
> +             del_timer_sync(&hAgingTimer);
>               PRINT_INFO(CORECONFIG_DBG, "destroy aging timer\n");
>  
>               for (i = 0; i < u32LastScannedNtwrksCountShadow; i++) {
> @@ -265,8 +265,10 @@ void remove_network_from_shadow(void *pUserVoid)
>       }
>  
>       PRINT_D(CFG80211_DBG, "Number of cached networks: %d\n", 
> u32LastScannedNtwrksCountShadow);
> -     if (u32LastScannedNtwrksCountShadow != 0)
> -             WILC_TimerStart(&(hAgingTimer), AGING_TIME, pUserVoid, NULL);
> +     if (u32LastScannedNtwrksCountShadow != 0) {
> +             hAgingTimer.data = (unsigned long)pUserVoid;
> +             mod_timer(&hAgingTimer, (jiffies + 
> msecs_to_jiffies(AGING_TIME)));
> +     }
>       else
>               PRINT_D(CFG80211_DBG, "No need to restart Aging timer\n");
>  }
> @@ -288,7 +290,8 @@ int8_t is_network_in_shadow(tstrNetworkInfo 
> *pstrNetworkInfo, void *pUserVoid)
>       priv = (struct WILC_WFI_priv *)pUserVoid;
>       if (u32LastScannedNtwrksCountShadow == 0) {
>               PRINT_D(CFG80211_DBG, "Starting Aging timer\n");
> -             WILC_TimerStart(&(hAgingTimer), AGING_TIME, pUserVoid, NULL);
> +             hAgingTimer.data = (unsigned long)pUserVoid;
> +             mod_timer(&hAgingTimer, (jiffies + 
> msecs_to_jiffies(AGING_TIME)));
>               state = -1;
>       } else {
>               /* Linear search for now */
> @@ -2862,7 +2865,7 @@ static int WILC_WFI_change_virt_intf(struct wiphy 
> *wiphy, struct net_device *dev
>  
>       #ifdef DISABLE_PWRSAVE_AND_SCAN_DURING_IP
>       g_obtainingIP = WILC_FALSE;
> -     WILC_TimerStop(&hDuringIpTimer, NULL);
> +     del_timer(&hDuringIpTimer);
>       PRINT_D(GENERIC_DBG, "Changing virtual interface, enable scan\n");
>       #endif
>       /*BugID_5137*/
> @@ -3094,7 +3097,7 @@ static int WILC_WFI_change_virt_intf(struct wiphy 
> *wiphy, struct net_device *dev
>  
>               #ifdef DISABLE_PWRSAVE_AND_SCAN_DURING_IP
>               g_obtainingIP = WILC_TRUE;
> -             WILC_TimerStart(&hDuringIpTimer, duringIP_TIME, NULL, NULL);
> +             mod_timer(&hDuringIpTimer, (jiffies + 
> msecs_to_jiffies(duringIP_TIME)));
>               #endif
>               host_int_set_power_mgmt(priv->hWILCWFIDrv, 0, 0);
>               /*BugID_5222*/
> @@ -3856,16 +3859,12 @@ int WILC_WFI_InitHostInt(struct net_device *net)
>       PRINT_D(INIT_DBG, "Host[%p][%p]\n", net, net->ieee80211_ptr);
>       priv = wdev_priv(net->ieee80211_ptr);
>       if (op_ifcs == 0) {
> -             s32Error = WILC_TimerCreate(&(hAgingTimer), 
> remove_network_from_shadow, NULL);
> +             setup_timer(&hAgingTimer, (void(*)(unsigned 
> long))remove_network_from_shadow, 0);
>               #ifdef DISABLE_PWRSAVE_AND_SCAN_DURING_IP
> -             s32Error = WILC_TimerCreate(&(hDuringIpTimer), clear_duringIP, 
> NULL);
> +             setup_timer(&hDuringIpTimer, (void(*)(unsigned 
> long))clear_duringIP, 0);
>               #endif
>       }
>       op_ifcs++;
> -     if (s32Error < 0) {
> -             PRINT_ER("Failed to creat refresh Timer\n");
> -             return s32Error;
> -     }
>  
>       priv->gbAutoRateAdjusted = WILC_FALSE;
>  
> @@ -3908,7 +3907,7 @@ int WILC_WFI_DeInitHostInt(struct net_device *net)
>       #ifdef DISABLE_PWRSAVE_AND_SCAN_DURING_IP
>       if (op_ifcs == 0) {
>               PRINT_D(CORECONFIG_DBG, "destroy during ip\n");
> -             WILC_TimerDestroy(&hDuringIpTimer, NULL);
> +             del_timer_sync(&hDuringIpTimer);
>       }
>       #endif
>  
> -- 
> 1.9.1

Please discard this patch.Doing a clean and building the driver shows a
build erorr becausae of a C file I removed.The makefile needs to be
modified.I will send a new patch.
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to