Staging: hv remove TIMER typedef

Remove the TIMER typedef and also replace HANDLE types that use
the timer calls.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Bill Pemberton 2009-07-28 13:46:25 -04:00 committed by Greg Kroah-Hartman
parent aedb444a57
commit 06d2e318b7
3 changed files with 20 additions and 24 deletions

View file

@ -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;

View file

@ -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, unsigned int count);
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);

View file

@ -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 pfnTimerCB, void* context)
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);
}