Commit 7d7c75cd authored by K. Y. Srinivasan's avatar K. Y. Srinivasan Committed by Greg Kroah-Hartman

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: default avatarK. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: default avatarHaiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: default avatarAbhishek Kane <v-abkane@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent f27df643
......@@ -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);
......
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