In preparation for embedding the state needed to close the channel, move
the definition of struct vmbus_channel.

Signed-off-by: K. Y. Srinivasan <k...@microsoft.com>
Signed-off-by: Haiyang Zhang <haiya...@microsoft.com>
Signed-off-by: Abhishek Kane <v-abk...@microsoft.com>
---
 drivers/staging/hv/hyperv.h |   77 +++++++++++++++++++++----------------------
 1 files changed, 38 insertions(+), 39 deletions(-)

diff --git a/drivers/staging/hv/hyperv.h b/drivers/staging/hv/hyperv.h
index 73c251e..93bbeab 100644
--- a/drivers/staging/hv/hyperv.h
+++ b/drivers/staging/hv/hyperv.h
@@ -523,45 +523,6 @@ enum vmbus_channel_state {
        CHANNEL_OPEN_STATE,
 };
 
-struct vmbus_channel {
-       struct list_head listentry;
-
-       struct hv_device *device_obj;
-
-       struct work_struct work;
-
-       enum vmbus_channel_state state;
-       /*
-        * For util channels, stash the
-        * the service index for easy access.
-        */
-       s8 util_index;
-
-       struct vmbus_channel_offer_channel offermsg;
-       /*
-        * These are based on the OfferMsg.MonitorId.
-        * Save it here for easy access.
-        */
-       u8 monitor_grp;
-       u8 monitor_bit;
-
-       u32 ringbuffer_gpadlhandle;
-
-       /* Allocated memory for ring buffer */
-       void *ringbuffer_pages;
-       u32 ringbuffer_pagecount;
-       struct hv_ring_buffer_info outbound;    /* send to parent */
-       struct hv_ring_buffer_info inbound;     /* receive from parent */
-       spinlock_t inbound_lock;
-       struct workqueue_struct *controlwq;
-
-       /* Channel callback are invoked in this workqueue context */
-       /* HANDLE dataWorkQueue; */
-
-       void (*onchannel_callback)(void *context);
-       void *channel_callback_context;
-};
-
 struct vmbus_channel_debug_info {
        u32 relid;
        enum vmbus_channel_state state;
@@ -608,6 +569,44 @@ struct vmbus_channel_msginfo {
        unsigned char msg[0];
 };
 
+struct vmbus_channel {
+       struct list_head listentry;
+
+       struct hv_device *device_obj;
+
+       struct work_struct work;
+
+       enum vmbus_channel_state state;
+       /*
+        * For util channels, stash the
+        * the service index for easy access.
+        */
+       s8 util_index;
+
+       struct vmbus_channel_offer_channel offermsg;
+       /*
+        * These are based on the OfferMsg.MonitorId.
+        * Save it here for easy access.
+        */
+       u8 monitor_grp;
+       u8 monitor_bit;
+
+       u32 ringbuffer_gpadlhandle;
+
+       /* Allocated memory for ring buffer */
+       void *ringbuffer_pages;
+       u32 ringbuffer_pagecount;
+       struct hv_ring_buffer_info outbound;    /* send to parent */
+       struct hv_ring_buffer_info inbound;     /* receive from parent */
+       spinlock_t inbound_lock;
+       struct workqueue_struct *controlwq;
+
+       /* Channel callback are invoked in this workqueue context */
+       /* HANDLE dataWorkQueue; */
+
+       void (*onchannel_callback)(void *context);
+       void *channel_callback_context;
+};
 
 void free_channel(struct vmbus_channel *channel);
 
-- 
1.7.4.1

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to