Staging: hv: Remove WORKQUEUE typedef
authorBill Pemberton <wfp5p@virginia.edu>
Mon, 27 Jul 2009 20:47:45 +0000 (16:47 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 15 Sep 2009 19:01:51 +0000 (12:01 -0700)
WORKQUEUE was a wrapper around struct workqueue_struct so just use
that instead.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/hv/ChannelMgmt.h
drivers/staging/hv/VmbusPrivate.h
drivers/staging/hv/include/osd.h
drivers/staging/hv/osd.c

index c4aa95c3f39a0f8c07d46addf066530ec9982b9d..5831d1929f7e83e7e9670cdde60c08ce1882b32b 100644 (file)
@@ -64,7 +64,7 @@ typedef struct _VMBUS_CHANNEL {
        RING_BUFFER_INFO                        Outbound;       /* send to parent */
        RING_BUFFER_INFO                        Inbound;        /* receive from parent */
        spinlock_t inbound_lock;
-       HANDLE                                          ControlWQ;
+       struct workqueue_struct *ControlWQ;
 
        /* Channel callback are invoked in this workqueue context */
        /* HANDLE                                               dataWorkQueue; */
index 40e5962dfb723505729ad482d4f7f34bf8008101..7182d4d200f3f2dbf3bfa13f96a1cb47f53c858d 100644 (file)
@@ -93,7 +93,7 @@ struct VMBUS_CONNECTION {
        LIST_ENTRY                                                      ChannelList;
        spinlock_t channel_lock;
 
-       HANDLE                                                          WorkQueue;
+       struct workqueue_struct *WorkQueue;
 };
 
 
index faae7cc5ec0d9f32725c4ff8bcdfec623db5d613..6a5675f4b266cc4556a81355e0f86c81e39d1850 100644 (file)
@@ -143,9 +143,11 @@ void* PageMapVirtualAddress(unsigned long Pfn);
 void PageUnmapVirtualAddress(void* VirtAddr);
 
 
-extern HANDLE WorkQueueCreate(char* name);
-extern void WorkQueueClose(HANDLE hWorkQueue);
-extern int WorkQueueQueueWorkItem(HANDLE hWorkQueue, PFN_WORKITEM_CALLBACK workItem, void* context);
+extern struct workqueue_struct *WorkQueueCreate(char* name);
+extern void WorkQueueClose(struct workqueue_struct *hWorkQueue);
+extern int WorkQueueQueueWorkItem(struct workqueue_struct *hWorkQueue,
+                                 PFN_WORKITEM_CALLBACK workItem,
+                                 void *context);
 
 extern void QueueWorkItem(PFN_WORKITEM_CALLBACK workItem, void* context);
 
index e683735706d1215167c1e25757b1137fd04e92a0..4cee746d01c4cbb03b13abed06f238b53add10f8 100644 (file)
@@ -61,10 +61,6 @@ typedef struct _WAITEVENT {
        wait_queue_head_t event;
 } WAITEVENT;
 
-typedef struct _WORKQUEUE {
-       struct workqueue_struct *queue;
-} WORKQUEUE;
-
 typedef struct _WORKITEM {
        struct work_struct work;
        PFN_WORKITEM_CALLBACK callback;
@@ -303,31 +299,25 @@ void WorkItemCallback(struct work_struct *work)
        kfree(w);
 }
 
-HANDLE WorkQueueCreate(char* name)
+struct workqueue_struct *WorkQueueCreate(char *name)
 {
-       WORKQUEUE *wq = kmalloc(sizeof(WORKQUEUE), GFP_KERNEL);
-       if (!wq)
-       {
+       struct workqueue_struct *wq;
+       wq = create_workqueue(name);
+       if (unlikely(!wq))
                return NULL;
-       }
-       wq->queue = create_workqueue(name);
-
        return wq;
 }
 
-void WorkQueueClose(HANDLE hWorkQueue)
+void WorkQueueClose(struct workqueue_struct *hWorkQueue)
 {
-       WORKQUEUE *wq = (WORKQUEUE *)hWorkQueue;
-
-       destroy_workqueue(wq->queue);
-
+       destroy_workqueue(hWorkQueue);
        return;
 }
 
-int WorkQueueQueueWorkItem(HANDLE hWorkQueue, PFN_WORKITEM_CALLBACK workItem, void* context)
+int WorkQueueQueueWorkItem(struct workqueue_struct *hWorkQueue,
+                          PFN_WORKITEM_CALLBACK workItem,
+                          void* context)
 {
-       WORKQUEUE *wq = (WORKQUEUE *)hWorkQueue;
-
        WORKITEM* w = kmalloc(sizeof(WORKITEM), GFP_ATOMIC);
        if (!w)
        {
@@ -337,7 +327,7 @@ int WorkQueueQueueWorkItem(HANDLE hWorkQueue, PFN_WORKITEM_CALLBACK workItem, vo
        w->callback = workItem,
        w->context = context;
        INIT_WORK(&w->work, WorkItemCallback);
-       return queue_work(wq->queue, &w->work);
+       return queue_work(hWorkQueue, &w->work);
 }
 
 void QueueWorkItem(PFN_WORKITEM_CALLBACK workItem, void* context)