From wfp5p@virginia.edu Tue Jul 28 14:52:02 2009 From: Bill Pemberton Date: Tue, 28 Jul 2009 13:46:25 -0400 Subject: Staging: hv remove TIMER typedef To: greg@kroah.com Cc: hjanssen@microsoft.com Message-ID: <1248803186-1909-5-git-send-email-wfp5p@virginia.edu> Remove the TIMER typedef and also replace HANDLE types that use the timer calls. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman --- drivers/staging/hv/ChannelMgmt.h | 2 +- drivers/staging/hv/include/osd.h | 19 +++++++++++++------ drivers/staging/hv/osd.c | 23 ++++++----------------- 3 files changed, 20 insertions(+), 24 deletions(-) --- a/drivers/staging/hv/ChannelMgmt.h +++ b/drivers/staging/hv/ChannelMgmt.h @@ -47,7 +47,7 @@ typedef struct _VMBUS_CHANNEL { struct hv_device *DeviceObject; - HANDLE PollTimer; /* SA-111 workaround */ + struct osd_timer *PollTimer; /* SA-111 workaround */ VMBUS_CHANNEL_STATE State; --- a/drivers/staging/hv/include/osd.h +++ b/drivers/staging/hv/include/osd.h @@ -48,6 +48,10 @@ typedef struct _DLIST_ENTRY { /* typedef unsigned char GUID[16]; */ typedef void* HANDLE; +typedef void (*PFN_WORKITEM_CALLBACK)(void* context); +typedef void (*PFN_TIMER_CALLBACK)(void* context); + + typedef struct { unsigned char Data[16]; } GUID; @@ -57,9 +61,12 @@ struct osd_waitevent { wait_queue_head_t event; }; +struct osd_timer { + struct timer_list timer; + PFN_TIMER_CALLBACK callback; + void* context; +}; -typedef void (*PFN_WORKITEM_CALLBACK)(void* context); -typedef void (*PFN_TIMER_CALLBACK)(void* context); #ifdef __x86_64__ @@ -123,10 +130,10 @@ extern void PageFree(void* page, unsigne extern void* MemMapIO(unsigned long phys, unsigned long size); extern void MemUnmapIO(void* virt); -extern HANDLE TimerCreate(PFN_TIMER_CALLBACK pfnTimerCB, void* context); -extern void TimerClose(HANDLE hTimer); -extern int TimerStop(HANDLE hTimer); -extern void TimerStart(HANDLE hTimer, u32 expirationInUs); +extern struct osd_timer *TimerCreate(PFN_TIMER_CALLBACK pfnTimerCB, void* context); +extern void TimerClose(struct osd_timer *t); +extern int TimerStop(struct osd_timer *t); +extern void TimerStart(struct osd_timer *t, u32 expirationInUs); extern struct osd_waitevent *WaitEventCreate(void); extern void WaitEventClose(struct osd_waitevent *waitEvent); --- a/drivers/staging/hv/osd.c +++ b/drivers/staging/hv/osd.c @@ -49,11 +49,6 @@ /* Data types */ -typedef struct _TIMER { - struct timer_list timer; - PFN_TIMER_CALLBACK callback; - void* context; -}TIMER; typedef struct _WORKITEM { struct work_struct work; @@ -168,14 +163,14 @@ void MemUnmapIO(void *virt) void TimerCallback(unsigned long data) { - TIMER* t = (TIMER*)data; + struct osd_timer *t = (struct osd_timer *) data; t->callback(t->context); } -HANDLE TimerCreate(PFN_TIMER_CALLBACK pfnTimerCB, void* context) +struct osd_timer *TimerCreate(PFN_TIMER_CALLBACK pfnTimerCB, void* context) { - TIMER* t = kmalloc(sizeof(TIMER), GFP_KERNEL); + struct osd_timer *t = kmalloc(sizeof(struct osd_timer), GFP_KERNEL); if (!t) { return NULL; @@ -191,25 +186,19 @@ HANDLE TimerCreate(PFN_TIMER_CALLBACK pf return t; } -void TimerStart(HANDLE hTimer, u32 expirationInUs) +void TimerStart(struct osd_timer *t, u32 expirationInUs) { - TIMER* t = (TIMER* )hTimer; - t->timer.expires = jiffies + usecs_to_jiffies(expirationInUs); add_timer(&t->timer); } -int TimerStop(HANDLE hTimer) +int TimerStop(struct osd_timer *t) { - TIMER* t = (TIMER* )hTimer; - return del_timer(&t->timer); } -void TimerClose(HANDLE hTimer) +void TimerClose(struct osd_timer *t) { - TIMER* t = (TIMER* )hTimer; - del_timer(&t->timer); kfree(t); }