[PATCH 231/641] Staging: hv: remove WAITEVENT typedef

Greg Kroah-Hartman gregkh at suse.de
Tue Sep 15 19:07:42 UTC 2009


From: Bill Pemberton <wfp5p at virginia.edu>

Remove the WAITEVENT typedef and also replace HANDLE types that use
the WaitEvent calls with struct osd_waitevent.

Signed-off-by: Bill Pemberton <wfp5p at virginia.edu>
Cc: Hank Janssen <hjanssen at microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
---
 drivers/staging/hv/ChannelMgmt.h  |    2 +-
 drivers/staging/hv/NetVsc.h       |    2 +-
 drivers/staging/hv/RndisFilter.c  |    2 +-
 drivers/staging/hv/StorVsc.c      |    2 +-
 drivers/staging/hv/VmbusPrivate.h |    2 +-
 drivers/staging/hv/include/osd.h  |   18 ++++++++++++------
 drivers/staging/hv/osd.c          |   32 +++++++++++---------------------
 7 files changed, 28 insertions(+), 32 deletions(-)

diff --git a/drivers/staging/hv/ChannelMgmt.h b/drivers/staging/hv/ChannelMgmt.h
index 6208cd8..7cf0173 100644
--- a/drivers/staging/hv/ChannelMgmt.h
+++ b/drivers/staging/hv/ChannelMgmt.h
@@ -115,7 +115,7 @@ typedef struct _VMBUS_CHANNEL_MSGINFO {
 	LIST_ENTRY		SubMsgList;
 
 	/* Synchronize the request/response if needed */
-	HANDLE			WaitEvent;
+	struct osd_waitevent *WaitEvent;
 
 	VMBUS_CHANNEL_MESSAGE_RESPONSE Response;
 
diff --git a/drivers/staging/hv/NetVsc.h b/drivers/staging/hv/NetVsc.h
index f7c1680..7636654 100644
--- a/drivers/staging/hv/NetVsc.h
+++ b/drivers/staging/hv/NetVsc.h
@@ -78,7 +78,7 @@ struct NETVSC_DEVICE {
 	PNVSP_1_RECEIVE_BUFFER_SECTION	ReceiveSections;
 
 	/* Used for NetVSP initialization protocol */
-	HANDLE							ChannelInitEvent;
+	struct osd_waitevent *ChannelInitEvent;
 	NVSP_MESSAGE					ChannelInitPacket;
 
 	NVSP_MESSAGE					RevokePacket;
diff --git a/drivers/staging/hv/RndisFilter.c b/drivers/staging/hv/RndisFilter.c
index cac0727..38b9a11 100644
--- a/drivers/staging/hv/RndisFilter.c
+++ b/drivers/staging/hv/RndisFilter.c
@@ -61,7 +61,7 @@ typedef struct _RNDIS_DEVICE {
 
 typedef struct _RNDIS_REQUEST {
 	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, */
 	/* we can either define a max response message or add a response buffer variable above this field */
diff --git a/drivers/staging/hv/StorVsc.c b/drivers/staging/hv/StorVsc.c
index 26d3f14..c55146c 100644
--- a/drivers/staging/hv/StorVsc.c
+++ b/drivers/staging/hv/StorVsc.c
@@ -47,7 +47,7 @@ typedef struct _STORVSC_REQUEST_EXTENSION {
 	struct hv_device *Device;
 
 	/* Synchronize the request/response if needed */
-	HANDLE							WaitEvent;
+	struct osd_waitevent *WaitEvent;
 
 	VSTOR_PACKET					VStorPacket;
 } STORVSC_REQUEST_EXTENSION;
diff --git a/drivers/staging/hv/VmbusPrivate.h b/drivers/staging/hv/VmbusPrivate.h
index 75013bc..bf47408 100644
--- a/drivers/staging/hv/VmbusPrivate.h
+++ b/drivers/staging/hv/VmbusPrivate.h
@@ -102,7 +102,7 @@ struct VMBUS_MSGINFO {
 	LIST_ENTRY			MsgListEntry;
 
 	/* Synchronize the request/response if needed */
-	HANDLE				WaitEvent;
+	struct osd_waitevent *WaitEvent;
 
 	/* The message itself */
 	unsigned char		Msg[0];
diff --git a/drivers/staging/hv/include/osd.h b/drivers/staging/hv/include/osd.h
index 6a5675f..470d802 100644
--- a/drivers/staging/hv/include/osd.h
+++ b/drivers/staging/hv/include/osd.h
@@ -52,6 +52,12 @@ typedef struct {
 	unsigned char	Data[16];
 } GUID;
 
+struct osd_waitevent {
+	int	condition;
+	wait_queue_head_t event;
+};
+
+
 typedef void (*PFN_WORKITEM_CALLBACK)(void* context);
 typedef void (*PFN_TIMER_CALLBACK)(void* context);
 
@@ -122,13 +128,13 @@ extern void TimerClose(HANDLE hTimer);
 extern int TimerStop(HANDLE hTimer);
 extern void TimerStart(HANDLE hTimer, u32 expirationInUs);
 
-extern HANDLE WaitEventCreate(void);
-extern void WaitEventClose(HANDLE hWait);
-extern void WaitEventSet(HANDLE hWait);
-extern int	WaitEventWait(HANDLE hWait);
+extern struct osd_waitevent *WaitEventCreate(void);
+extern void WaitEventClose(struct osd_waitevent *waitEvent);
+extern void WaitEventSet(struct osd_waitevent *waitEvent);
+extern int	WaitEventWait(struct osd_waitevent *waitEvent);
 
-/* If >0, hWait got signaled. If ==0, timeout. If < 0, error */
-extern int	WaitEventWaitEx(HANDLE hWait, u32 TimeoutInMs);
+/* If >0, waitEvent got signaled. If ==0, timeout. If < 0, error */
+extern int	WaitEventWaitEx(struct osd_waitevent *waitEvent, u32 TimeoutInMs);
 
 
 #define GetVirtualAddress Physical2LogicalAddr
diff --git a/drivers/staging/hv/osd.c b/drivers/staging/hv/osd.c
index 4cee746..50a2ca7 100644
--- a/drivers/staging/hv/osd.c
+++ b/drivers/staging/hv/osd.c
@@ -55,12 +55,6 @@ typedef struct _TIMER {
 	void* context;
 }TIMER;
 
-
-typedef struct _WAITEVENT {
-	int	condition;
-	wait_queue_head_t event;
-} WAITEVENT;
-
 typedef struct _WORKITEM {
 	struct work_struct work;
 	PFN_WORKITEM_CALLBACK callback;
@@ -220,9 +214,9 @@ void TimerClose(HANDLE hTimer)
 	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)
 	{
 		return NULL;
@@ -233,38 +227,34 @@ HANDLE WaitEventCreate(void)
 	return wait;
 }
 
-void WaitEventClose(HANDLE hWait)
+void WaitEventClose(struct osd_waitevent *waitEvent)
 {
-	WAITEVENT* waitEvent = (WAITEVENT* )hWait;
 	kfree(waitEvent);
 }
 
-void WaitEventSet(HANDLE hWait)
+void WaitEventSet(struct osd_waitevent *waitEvent)
 {
-	WAITEVENT* waitEvent = (WAITEVENT* )hWait;
 	waitEvent->condition = 1;
 	wake_up_interruptible(&waitEvent->event);
 }
 
-int WaitEventWait(HANDLE hWait)
+int WaitEventWait(struct osd_waitevent *waitEvent)
 {
 	int ret=0;
-	WAITEVENT* waitEvent = (WAITEVENT* )hWait;
 
-	ret= wait_event_interruptible(waitEvent->event,
-		waitEvent->condition);
+	ret = wait_event_interruptible(waitEvent->event,
+				       waitEvent->condition);
 	waitEvent->condition = 0;
 	return ret;
 }
 
-int WaitEventWaitEx(HANDLE hWait, u32 TimeoutInMs)
+int WaitEventWaitEx(struct osd_waitevent *waitEvent, u32 TimeoutInMs)
 {
 	int ret=0;
-	WAITEVENT* waitEvent = (WAITEVENT* )hWait;
 
-	ret= wait_event_interruptible_timeout(waitEvent->event,
-											waitEvent->condition,
-											msecs_to_jiffies(TimeoutInMs));
+	ret = wait_event_interruptible_timeout(waitEvent->event,
+					       waitEvent->condition,
+					       msecs_to_jiffies(TimeoutInMs));
 	waitEvent->condition = 0;
 	return ret;
 }
-- 
1.6.4.2




More information about the devel mailing list