staging: wilc1000: remove WILC_TimerCreate()

It was just a wrapper around setup_timer() and could never fail, so just
call the real function, and fix up the function arguments of the
callbacks to be proper timer callback functions.

Cc: Johnny Kim <johnny.kim@atmel.com>
Cc: Rachel Kim <rachel.kim@atmel.com>
Cc: Dean Lee <dean.lee@atmel.com>
Cc: Chris Park <chris.park@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Greg Kroah-Hartman 2015-08-14 20:28:32 -07:00
parent 4183e9794c
commit 93dee8eea0
3 changed files with 17 additions and 44 deletions

View File

@ -3978,11 +3978,11 @@ _done_:
* @date
* @version 1.0
*/
static void ListenTimerCB(void *pvArg)
static void ListenTimerCB(unsigned long arg)
{
s32 s32Error = WILC_SUCCESS;
tstrHostIFmsg strHostIFmsg;
tstrWILC_WFIDrv *pstrWFIDrv = (tstrWILC_WFIDrv *)pvArg;
tstrWILC_WFIDrv *pstrWFIDrv = (tstrWILC_WFIDrv *)arg;
/*Stopping remain-on-channel timer*/
del_timer(&pstrWFIDrv->hRemainOnChannel);
@ -4542,8 +4542,9 @@ static int hostIFthread(void *pvArg)
return 0;
}
static void TimerCB_Scan(void *pvArg)
static void TimerCB_Scan(unsigned long arg)
{
void *pvArg = (void *)arg;
tstrHostIFmsg strHostIFmsg;
/* prepare the Timer Callback message */
@ -4555,8 +4556,9 @@ static void TimerCB_Scan(void *pvArg)
WILC_MsgQueueSend(&gMsgQHostIF, &strHostIFmsg, sizeof(tstrHostIFmsg), NULL);
}
static void TimerCB_Connect(void *pvArg)
static void TimerCB_Connect(unsigned long arg)
{
void *pvArg = (void *)arg;
tstrHostIFmsg strHostIFmsg;
/* prepare the Timer Callback message */
@ -6415,9 +6417,9 @@ void host_int_send_join_leave_info_to_host
* @version 1.0
*/
void GetPeriodicRSSI(void *pvArg)
static void GetPeriodicRSSI(unsigned long arg)
{
tstrWILC_WFIDrv *pstrWFIDrv = (tstrWILC_WFIDrv *)pvArg;
tstrWILC_WFIDrv *pstrWFIDrv = (tstrWILC_WFIDrv *)arg;
if (pstrWFIDrv == NULL) {
PRINT_ER("Driver handler is NULL\n");
@ -6537,36 +6539,19 @@ s32 host_int_init(tstrWILC_WFIDrv **phWFIDrv)
s32Error = WILC_FAIL;
goto _fail_mq_;
}
s32Error = WILC_TimerCreate(&(g_hPeriodicRSSI), GetPeriodicRSSI);
if (s32Error < 0) {
PRINT_ER("Failed to creat Timer\n");
goto _fail_timer_1;
}
setup_timer(&g_hPeriodicRSSI, GetPeriodicRSSI, 0);
WILC_TimerStart(&(g_hPeriodicRSSI), 5000, (void *)pstrWFIDrv);
}
s32Error = WILC_TimerCreate(&(pstrWFIDrv->hScanTimer), TimerCB_Scan);
if (s32Error < 0) {
PRINT_ER("Failed to creat Timer\n");
goto _fail_thread_;
}
s32Error = WILC_TimerCreate(&(pstrWFIDrv->hConnectTimer), TimerCB_Connect);
if (s32Error < 0) {
PRINT_ER("Failed to creat Timer\n");
goto _fail_timer_1;
}
setup_timer(&pstrWFIDrv->hScanTimer, TimerCB_Scan, 0);
setup_timer(&pstrWFIDrv->hConnectTimer, TimerCB_Connect, 0);
#ifdef WILC_P2P
/*Remain on channel timer*/
s32Error = WILC_TimerCreate(&(pstrWFIDrv->hRemainOnChannel), ListenTimerCB);
if (s32Error < 0) {
PRINT_ER("Failed to creat Remain-on-channel Timer\n");
goto _fail_timer_3;
}
setup_timer(&pstrWFIDrv->hRemainOnChannel, ListenTimerCB, 0);
#endif
sema_init(&(pstrWFIDrv->gtOsCfgValuesSem), 1);
@ -6617,15 +6602,12 @@ _fail_mem_:
if (pstrWFIDrv != NULL)
kfree(pstrWFIDrv);
#ifdef WILC_P2P
_fail_timer_3:
del_timer_sync(&pstrWFIDrv->hRemainOnChannel);
#endif
_fail_timer_2:
up(&(pstrWFIDrv->gtOsCfgValuesSem));
del_timer_sync(&pstrWFIDrv->hConnectTimer);
_fail_timer_1:
del_timer_sync(&pstrWFIDrv->hScanTimer);
_fail_thread_:
kthread_stop(HostIFthreadHandler);
_fail_mq_:
WILC_MsgQueueDestroy(&gMsgQHostIF, NULL);

View File

@ -1,15 +1,6 @@
#include "wilc_timer.h"
WILC_ErrNo WILC_TimerCreate(struct timer_list *pHandle,
tpfWILC_TimerFunction pfCallback)
{
WILC_ErrNo s32RetStatus = WILC_SUCCESS;
setup_timer(pHandle, (void(*)(unsigned long))pfCallback, 0);
return s32RetStatus;
}
WILC_ErrNo WILC_TimerStart(struct timer_list *pHandle, u32 u32Timeout,
void *pvArg)
{

View File

@ -231,7 +231,7 @@ void update_scan_time(void *pUserVoid)
}
}
void remove_network_from_shadow(void *pUserVoid)
static void remove_network_from_shadow(unsigned long arg)
{
unsigned long now = jiffies;
int i, j;
@ -257,13 +257,13 @@ 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);
WILC_TimerStart(&(hAgingTimer), AGING_TIME, (void *)arg);
else
PRINT_D(CFG80211_DBG, "No need to restart Aging timer\n");
}
#ifdef DISABLE_PWRSAVE_AND_SCAN_DURING_IP
void clear_duringIP(void *pUserVoid)
static void clear_duringIP(unsigned long arg)
{
PRINT_D(GENERIC_DBG, "GO:IP Obtained , enable scan\n");
g_obtainingIP = false;
@ -3824,9 +3824,9 @@ 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);
setup_timer(&hAgingTimer, remove_network_from_shadow, 0);
#ifdef DISABLE_PWRSAVE_AND_SCAN_DURING_IP
s32Error = WILC_TimerCreate(&(hDuringIpTimer), clear_duringIP);
setup_timer(&hDuringIpTimer, clear_duringIP, 0);
#endif
}
op_ifcs++;