Commit aedb444a authored by Bill Pemberton's avatar Bill Pemberton Committed by Greg Kroah-Hartman

Staging: hv: remove WAITEVENT typedef

Remove the WAITEVENT typedef and also replace HANDLE types that use
the WaitEvent calls with struct osd_waitevent.
Signed-off-by: default avatarBill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent b5788529
...@@ -115,7 +115,7 @@ typedef struct _VMBUS_CHANNEL_MSGINFO { ...@@ -115,7 +115,7 @@ typedef struct _VMBUS_CHANNEL_MSGINFO {
LIST_ENTRY SubMsgList; LIST_ENTRY SubMsgList;
/* Synchronize the request/response if needed */ /* Synchronize the request/response if needed */
HANDLE WaitEvent; struct osd_waitevent *WaitEvent;
VMBUS_CHANNEL_MESSAGE_RESPONSE Response; VMBUS_CHANNEL_MESSAGE_RESPONSE Response;
......
...@@ -78,7 +78,7 @@ struct NETVSC_DEVICE { ...@@ -78,7 +78,7 @@ struct NETVSC_DEVICE {
PNVSP_1_RECEIVE_BUFFER_SECTION ReceiveSections; PNVSP_1_RECEIVE_BUFFER_SECTION ReceiveSections;
/* Used for NetVSP initialization protocol */ /* Used for NetVSP initialization protocol */
HANDLE ChannelInitEvent; struct osd_waitevent *ChannelInitEvent;
NVSP_MESSAGE ChannelInitPacket; NVSP_MESSAGE ChannelInitPacket;
NVSP_MESSAGE RevokePacket; NVSP_MESSAGE RevokePacket;
......
...@@ -61,7 +61,7 @@ typedef struct _RNDIS_DEVICE { ...@@ -61,7 +61,7 @@ typedef struct _RNDIS_DEVICE {
typedef struct _RNDIS_REQUEST { typedef struct _RNDIS_REQUEST {
LIST_ENTRY ListEntry; LIST_ENTRY ListEntry;
HANDLE WaitEvent; struct osd_waitevent *WaitEvent;
/* FIXME: We assumed a fixed size response here. If we do ever need to handle a bigger response, */ /* FIXME: We assumed a fixed size response here. If we do ever need to handle a bigger response, */
/* we can either define a max response message or add a response buffer variable above this field */ /* we can either define a max response message or add a response buffer variable above this field */
......
...@@ -47,7 +47,7 @@ typedef struct _STORVSC_REQUEST_EXTENSION { ...@@ -47,7 +47,7 @@ typedef struct _STORVSC_REQUEST_EXTENSION {
struct hv_device *Device; struct hv_device *Device;
/* Synchronize the request/response if needed */ /* Synchronize the request/response if needed */
HANDLE WaitEvent; struct osd_waitevent *WaitEvent;
VSTOR_PACKET VStorPacket; VSTOR_PACKET VStorPacket;
} STORVSC_REQUEST_EXTENSION; } STORVSC_REQUEST_EXTENSION;
......
...@@ -102,7 +102,7 @@ struct VMBUS_MSGINFO { ...@@ -102,7 +102,7 @@ struct VMBUS_MSGINFO {
LIST_ENTRY MsgListEntry; LIST_ENTRY MsgListEntry;
/* Synchronize the request/response if needed */ /* Synchronize the request/response if needed */
HANDLE WaitEvent; struct osd_waitevent *WaitEvent;
/* The message itself */ /* The message itself */
unsigned char Msg[0]; unsigned char Msg[0];
......
...@@ -52,6 +52,12 @@ typedef struct { ...@@ -52,6 +52,12 @@ typedef struct {
unsigned char Data[16]; unsigned char Data[16];
} GUID; } GUID;
struct osd_waitevent {
int condition;
wait_queue_head_t event;
};
typedef void (*PFN_WORKITEM_CALLBACK)(void* context); typedef void (*PFN_WORKITEM_CALLBACK)(void* context);
typedef void (*PFN_TIMER_CALLBACK)(void* context); typedef void (*PFN_TIMER_CALLBACK)(void* context);
...@@ -122,13 +128,13 @@ extern void TimerClose(HANDLE hTimer); ...@@ -122,13 +128,13 @@ extern void TimerClose(HANDLE hTimer);
extern int TimerStop(HANDLE hTimer); extern int TimerStop(HANDLE hTimer);
extern void TimerStart(HANDLE hTimer, u32 expirationInUs); extern void TimerStart(HANDLE hTimer, u32 expirationInUs);
extern HANDLE WaitEventCreate(void); extern struct osd_waitevent *WaitEventCreate(void);
extern void WaitEventClose(HANDLE hWait); extern void WaitEventClose(struct osd_waitevent *waitEvent);
extern void WaitEventSet(HANDLE hWait); extern void WaitEventSet(struct osd_waitevent *waitEvent);
extern int WaitEventWait(HANDLE hWait); extern int WaitEventWait(struct osd_waitevent *waitEvent);
/* If >0, hWait got signaled. If ==0, timeout. If < 0, error */ /* If >0, waitEvent got signaled. If ==0, timeout. If < 0, error */
extern int WaitEventWaitEx(HANDLE hWait, u32 TimeoutInMs); extern int WaitEventWaitEx(struct osd_waitevent *waitEvent, u32 TimeoutInMs);
#define GetVirtualAddress Physical2LogicalAddr #define GetVirtualAddress Physical2LogicalAddr
......
...@@ -55,12 +55,6 @@ typedef struct _TIMER { ...@@ -55,12 +55,6 @@ typedef struct _TIMER {
void* context; void* context;
}TIMER; }TIMER;
typedef struct _WAITEVENT {
int condition;
wait_queue_head_t event;
} WAITEVENT;
typedef struct _WORKITEM { typedef struct _WORKITEM {
struct work_struct work; struct work_struct work;
PFN_WORKITEM_CALLBACK callback; PFN_WORKITEM_CALLBACK callback;
...@@ -220,9 +214,9 @@ void TimerClose(HANDLE hTimer) ...@@ -220,9 +214,9 @@ void TimerClose(HANDLE hTimer)
kfree(t); kfree(t);
} }
HANDLE WaitEventCreate(void) struct osd_waitevent *WaitEventCreate(void)
{ {
WAITEVENT* wait = kmalloc(sizeof(WAITEVENT), GFP_KERNEL); struct osd_waitevent *wait = kmalloc(sizeof(struct osd_waitevent), GFP_KERNEL);
if (!wait) if (!wait)
{ {
return NULL; return NULL;
...@@ -233,38 +227,34 @@ HANDLE WaitEventCreate(void) ...@@ -233,38 +227,34 @@ HANDLE WaitEventCreate(void)
return wait; return wait;
} }
void WaitEventClose(HANDLE hWait) void WaitEventClose(struct osd_waitevent *waitEvent)
{ {
WAITEVENT* waitEvent = (WAITEVENT* )hWait;
kfree(waitEvent); kfree(waitEvent);
} }
void WaitEventSet(HANDLE hWait) void WaitEventSet(struct osd_waitevent *waitEvent)
{ {
WAITEVENT* waitEvent = (WAITEVENT* )hWait;
waitEvent->condition = 1; waitEvent->condition = 1;
wake_up_interruptible(&waitEvent->event); wake_up_interruptible(&waitEvent->event);
} }
int WaitEventWait(HANDLE hWait) int WaitEventWait(struct osd_waitevent *waitEvent)
{ {
int ret=0; int ret=0;
WAITEVENT* waitEvent = (WAITEVENT* )hWait;
ret= wait_event_interruptible(waitEvent->event, ret = wait_event_interruptible(waitEvent->event,
waitEvent->condition); waitEvent->condition);
waitEvent->condition = 0; waitEvent->condition = 0;
return ret; return ret;
} }
int WaitEventWaitEx(HANDLE hWait, u32 TimeoutInMs) int WaitEventWaitEx(struct osd_waitevent *waitEvent, u32 TimeoutInMs)
{ {
int ret=0; int ret=0;
WAITEVENT* waitEvent = (WAITEVENT* )hWait;
ret= wait_event_interruptible_timeout(waitEvent->event, ret = wait_event_interruptible_timeout(waitEvent->event,
waitEvent->condition, waitEvent->condition,
msecs_to_jiffies(TimeoutInMs)); msecs_to_jiffies(TimeoutInMs));
waitEvent->condition = 0; waitEvent->condition = 0;
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment