diff options
Diffstat (limited to 'drivers/staging/winbond/rxisr.c')
-rw-r--r-- | drivers/staging/winbond/rxisr.c | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/drivers/staging/winbond/rxisr.c b/drivers/staging/winbond/rxisr.c index 6678660b05d4..de49a4935122 100644 --- a/drivers/staging/winbond/rxisr.c +++ b/drivers/staging/winbond/rxisr.c @@ -1,30 +1,27 @@ #include "os_common.h" -void vRxTimerInit(struct wb35_adapter * adapter) +static void RxTimerHandler(unsigned long data) { - OS_TIMER_INITIAL(&(adapter->Mds.nTimer), (void*) RxTimerHandler, (void*) adapter); + WARN_ON(1); } -void vRxTimerStart(struct wb35_adapter * adapter, int timeout_value) +void vRxTimerInit(struct wb35_adapter *adapter) { - if (timeout_value<MIN_TIMEOUT_VAL) - timeout_value=MIN_TIMEOUT_VAL; - - OS_TIMER_SET( &(adapter->Mds.nTimer), timeout_value ); + init_timer(&adapter->Mds.timer); + adapter->Mds.timer.function = RxTimerHandler; + adapter->Mds.timer.data = (unsigned long) adapter; } -void vRxTimerStop(struct wb35_adapter * adapter) +void vRxTimerStart(struct wb35_adapter *adapter, int timeout_value) { - OS_TIMER_CANCEL( &(adapter->Mds.nTimer), 0 ); -} + if (timeout_value < MIN_TIMEOUT_VAL) + timeout_value = MIN_TIMEOUT_VAL; -void RxTimerHandler_1a( struct wb35_adapter * adapter) -{ - RxTimerHandler(NULL, adapter, NULL, NULL); + adapter->Mds.timer.expires = jiffies + msecs_to_jiffies(timeout_value); + add_timer(&adapter->Mds.timer); } -void RxTimerHandler(void* SystemSpecific1, struct wb35_adapter * adapter, - void* SystemSpecific2, void* SystemSpecific3) +void vRxTimerStop(struct wb35_adapter *adapter) { - WARN_ON(1); + del_timer_sync(&adapter->Mds.timer); } |