Staging: hv: vmbus: Move the definition of struct vmbus_channel

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

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Abhishek Kane <v-abkane@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
K. Y. Srinivasan 2011-06-06 15:49:57 -07:00 committed by Greg Kroah-Hartman
parent f27df643d0
commit 7d7c75cd47
1 changed files with 38 additions and 39 deletions

View File

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