Merge tag 'vfio-v4.2-rc1' of git://github.com/awilliam/linux-vfio
[linux-2.6-block.git] / drivers / staging / wilc1000 / wilc_timer.c
CommitLineData
c5c77ba1 1
c3ea8a72 2#include "wilc_timer.h"
c5c77ba1 3
c5c77ba1
JK
4WILC_ErrNo WILC_TimerCreate(WILC_TimerHandle *pHandle,
5 tpfWILC_TimerFunction pfCallback, tstrWILC_TimerAttrs *pstrAttrs)
6{
7 WILC_ErrNo s32RetStatus = WILC_SUCCESS;
8 setup_timer(pHandle, (void(*)(unsigned long))pfCallback, 0);
9
10 return s32RetStatus;
11}
12
13WILC_ErrNo WILC_TimerDestroy(WILC_TimerHandle *pHandle,
14 tstrWILC_TimerAttrs *pstrAttrs)
15{
16 WILC_ErrNo s32RetStatus = WILC_FAIL;
17 if (pHandle != NULL) {
18 s32RetStatus = del_timer_sync(pHandle);
19 pHandle = NULL;
20 }
21
22 return s32RetStatus;
23}
24
25
4e4467fd 26WILC_ErrNo WILC_TimerStart(WILC_TimerHandle *pHandle, u32 u32Timeout,
c5c77ba1
JK
27 void *pvArg, tstrWILC_TimerAttrs *pstrAttrs)
28{
29 WILC_ErrNo s32RetStatus = WILC_FAIL;
30 if (pHandle != NULL) {
31 pHandle->data = (unsigned long)pvArg;
32 s32RetStatus = mod_timer(pHandle, (jiffies + msecs_to_jiffies(u32Timeout)));
33 }
34 return s32RetStatus;
35}
36
37WILC_ErrNo WILC_TimerStop(WILC_TimerHandle *pHandle,
38 tstrWILC_TimerAttrs *pstrAttrs)
39{
40 WILC_ErrNo s32RetStatus = WILC_FAIL;
41 if (pHandle != NULL)
42 s32RetStatus = del_timer(pHandle);
43
44 return s32RetStatus;
45}