public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "K. Y. Srinivasan" <kys@microsoft.com>
To: gregkh@suse.de, linux-kernel@vger.kernel.org,
	devel@linuxdriverproject.org, virtualization@lists.osdl.org
Cc: "K. Y. Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Abhishek Kane <v-abkane@microsoft.com>,
	Hank Janssen <hjanssen@microsoft.com>
Subject: [PATCH 113/206] Staging: hv: Use completion abstraction to synchronize in vmbus_channel_msginfo
Date: Mon,  9 May 2011 14:56:35 -0700	[thread overview]
Message-ID: <1304978288-22999-113-git-send-email-kys@microsoft.com> (raw)
In-Reply-To: <1304978288-22999-1-git-send-email-kys@microsoft.com>

Use completion abstraction to synchronize in vmbus_channel_msginfo.

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: Hank Janssen <hjanssen@microsoft.com>
---
 drivers/staging/hv/channel.c      |   31 ++++++++++++-------------------
 drivers/staging/hv/channel_mgmt.c |   31 ++++++++++++++-----------------
 drivers/staging/hv/channel_mgmt.h |    4 ++--
 drivers/staging/hv/connection.c   |    9 ++++-----
 4 files changed, 32 insertions(+), 43 deletions(-)

diff --git a/drivers/staging/hv/channel.c b/drivers/staging/hv/channel.c
index 5fcf9d3..1b50cb7 100644
--- a/drivers/staging/hv/channel.c
+++ b/drivers/staging/hv/channel.c
@@ -177,7 +177,7 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
 	struct vmbus_channel_msginfo *openInfo = NULL;
 	void *in, *out;
 	unsigned long flags;
-	int ret, err = 0;
+	int ret, t, err = 0;
 
 	/* Aligned to page size */
 	/* ASSERT(!(SendRingBufferSize & (PAGE_SIZE - 1))); */
@@ -240,7 +240,7 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
 		goto errorout;
 	}
 
-	init_waitqueue_head(&openInfo->waitevent);
+	init_completion(&openInfo->waitevent);
 
 	openMsg = (struct vmbus_channel_open_channel *)openInfo->msg;
 	openMsg->header.msgtype = CHANNELMSG_OPENCHANNEL;
@@ -270,11 +270,8 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
 	if (ret != 0)
 		goto Cleanup;
 
-	openInfo->wait_condition = 0;
-	wait_event_timeout(openInfo->waitevent,
-			openInfo->wait_condition,
-			msecs_to_jiffies(1000));
-	if (openInfo->wait_condition == 0) {
+	t = wait_for_completion_timeout(&openInfo->waitevent, HZ);
+	if (t == 0) {
 		err = -ETIMEDOUT;
 		goto errorout;
 	}
@@ -495,6 +492,7 @@ int vmbus_establish_gpadl(struct vmbus_channel *channel, void *kbuffer,
 	u32 next_gpadl_handle;
 	unsigned long flags;
 	int ret = 0;
+	int t;
 
 	next_gpadl_handle = atomic_read(&vmbus_connection.next_gpadl_handle);
 	atomic_inc(&vmbus_connection.next_gpadl_handle);
@@ -503,7 +501,7 @@ int vmbus_establish_gpadl(struct vmbus_channel *channel, void *kbuffer,
 	if (ret)
 		return ret;
 
-	init_waitqueue_head(&msginfo->waitevent);
+	init_completion(&msginfo->waitevent);
 
 	gpadlmsg = (struct vmbus_channel_gpadl_header *)msginfo->msg;
 	gpadlmsg->header.msgtype = CHANNELMSG_GPADL_HEADER;
@@ -518,7 +516,6 @@ int vmbus_establish_gpadl(struct vmbus_channel *channel, void *kbuffer,
 
 	spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
 
-	msginfo->wait_condition = 0;
 	ret = vmbus_post_msg(gpadlmsg, msginfo->msgsize -
 			       sizeof(*msginfo));
 	if (ret != 0)
@@ -546,10 +543,8 @@ int vmbus_establish_gpadl(struct vmbus_channel *channel, void *kbuffer,
 
 		}
 	}
-	wait_event_timeout(msginfo->waitevent,
-				msginfo->wait_condition,
-				msecs_to_jiffies(1000));
-	BUG_ON(msginfo->wait_condition == 0);
+	t = wait_for_completion_timeout(&msginfo->waitevent, HZ);
+	BUG_ON(t == 0);
 
 
 	/* At this point, we received the gpadl created msg */
@@ -573,7 +568,7 @@ int vmbus_teardown_gpadl(struct vmbus_channel *channel, u32 gpadl_handle)
 	struct vmbus_channel_gpadl_teardown *msg;
 	struct vmbus_channel_msginfo *info;
 	unsigned long flags;
-	int ret;
+	int ret, t;
 
 	/* ASSERT(gpadl_handle != 0); */
 
@@ -582,7 +577,7 @@ int vmbus_teardown_gpadl(struct vmbus_channel *channel, u32 gpadl_handle)
 	if (!info)
 		return -ENOMEM;
 
-	init_waitqueue_head(&info->waitevent);
+	init_completion(&info->waitevent);
 
 	msg = (struct vmbus_channel_gpadl_teardown *)info->msg;
 
@@ -594,14 +589,12 @@ int vmbus_teardown_gpadl(struct vmbus_channel *channel, u32 gpadl_handle)
 	list_add_tail(&info->msglistentry,
 		      &vmbus_connection.chn_msg_list);
 	spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
-	info->wait_condition = 0;
 	ret = vmbus_post_msg(msg,
 			       sizeof(struct vmbus_channel_gpadl_teardown));
 
 	BUG_ON(ret != 0);
-	wait_event_timeout(info->waitevent,
-			info->wait_condition, msecs_to_jiffies(1000));
-	BUG_ON(info->wait_condition == 0);
+	t = wait_for_completion_timeout(&info->waitevent, HZ);
+	BUG_ON(t == 0);
 
 	/* Received a torndown response */
 	spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
diff --git a/drivers/staging/hv/channel_mgmt.c b/drivers/staging/hv/channel_mgmt.c
index 95eef92..33cb5d5 100644
--- a/drivers/staging/hv/channel_mgmt.c
+++ b/drivers/staging/hv/channel_mgmt.c
@@ -556,9 +556,9 @@ static void vmbus_onopen_result(struct vmbus_channel_message_header *hdr)
 			    openmsg->openid == result->openid) {
 				memcpy(&msginfo->response.open_result,
 				       result,
-				       sizeof(struct vmbus_channel_open_result));
-				msginfo->wait_condition = 1;
-				wake_up(&msginfo->waitevent);
+				       sizeof(
+					struct vmbus_channel_open_result));
+				complete(&msginfo->waitevent);
 				break;
 			}
 		}
@@ -603,9 +603,9 @@ static void vmbus_ongpadl_created(struct vmbus_channel_message_header *hdr)
 			    (gpadlcreated->gpadl == gpadlheader->gpadl)) {
 				memcpy(&msginfo->response.gpadl_created,
 				       gpadlcreated,
-				       sizeof(struct vmbus_channel_gpadl_created));
-				msginfo->wait_condition = 1;
-				wake_up(&msginfo->waitevent);
+				       sizeof(
+					struct vmbus_channel_gpadl_created));
+				complete(&msginfo->waitevent);
 				break;
 			}
 		}
@@ -648,9 +648,9 @@ static void vmbus_ongpadl_torndown(
 			if (gpadl_torndown->gpadl == gpadl_teardown->gpadl) {
 				memcpy(&msginfo->response.gpadl_torndown,
 				       gpadl_torndown,
-				       sizeof(struct vmbus_channel_gpadl_torndown));
-				msginfo->wait_condition = 1;
-				wake_up(&msginfo->waitevent);
+				       sizeof(
+					struct vmbus_channel_gpadl_torndown));
+				complete(&msginfo->waitevent);
 				break;
 			}
 		}
@@ -689,8 +689,7 @@ static void vmbus_onversion_response(
 			memcpy(&msginfo->response.version_response,
 			      version_response,
 			      sizeof(struct vmbus_channel_version_response));
-			msginfo->wait_condition = 1;
-			wake_up(&msginfo->waitevent);
+			complete(&msginfo->waitevent);
 		}
 	}
 	spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
@@ -753,7 +752,7 @@ int vmbus_request_offers(void)
 {
 	struct vmbus_channel_message_header *msg;
 	struct vmbus_channel_msginfo *msginfo;
-	int ret;
+	int ret, t;
 
 	msginfo = kmalloc(sizeof(*msginfo) +
 			  sizeof(struct vmbus_channel_message_header),
@@ -761,7 +760,7 @@ int vmbus_request_offers(void)
 	if (!msginfo)
 		return -ENOMEM;
 
-	init_waitqueue_head(&msginfo->waitevent);
+	init_completion(&msginfo->waitevent);
 
 	msg = (struct vmbus_channel_message_header *)msginfo->msg;
 
@@ -776,10 +775,8 @@ int vmbus_request_offers(void)
 		goto cleanup;
 	}
 
-	msginfo->wait_condition = 0;
-	wait_event_timeout(msginfo->waitevent, msginfo->wait_condition,
-			msecs_to_jiffies(1000));
-	if (msginfo->wait_condition == 0) {
+	t = wait_for_completion_timeout(&msginfo->waitevent, HZ);
+	if (t == 0) {
 		ret = -ETIMEDOUT;
 		goto cleanup;
 	}
diff --git a/drivers/staging/hv/channel_mgmt.h b/drivers/staging/hv/channel_mgmt.h
index 3b2c393..f895d0a 100644
--- a/drivers/staging/hv/channel_mgmt.h
+++ b/drivers/staging/hv/channel_mgmt.h
@@ -28,6 +28,7 @@
 #include <linux/list.h>
 #include <linux/timer.h>
 #include <linux/workqueue.h>
+#include <linux/completion.h>
 #include "ring_buffer.h"
 #include "vmbus_channel_interface.h"
 #include "vmbus_packet_format.h"
@@ -290,8 +291,7 @@ struct vmbus_channel_msginfo {
 	struct list_head submsglist;
 
 	/* Synchronize the request/response if needed */
-	int wait_condition;
-	wait_queue_head_t waitevent;
+	struct completion  waitevent;
 	union {
 		struct vmbus_channel_version_supported version_supported;
 		struct vmbus_channel_open_result open_result;
diff --git a/drivers/staging/hv/connection.c b/drivers/staging/hv/connection.c
index 4f411a9..92add38 100644
--- a/drivers/staging/hv/connection.c
+++ b/drivers/staging/hv/connection.c
@@ -44,6 +44,7 @@ struct vmbus_connection vmbus_connection = {
 int vmbus_connect(void)
 {
 	int ret = 0;
+	int t;
 	struct vmbus_channel_msginfo *msginfo = NULL;
 	struct vmbus_channel_initiate_contact *msg;
 	unsigned long flags;
@@ -101,7 +102,7 @@ int vmbus_connect(void)
 		goto Cleanup;
 	}
 
-	init_waitqueue_head(&msginfo->waitevent);
+	init_completion(&msginfo->waitevent);
 
 	msg = (struct vmbus_channel_initiate_contact *)msginfo->msg;
 
@@ -134,10 +135,8 @@ int vmbus_connect(void)
 	}
 
 	/* Wait for the connection response */
-	msginfo->wait_condition = 0;
-	wait_event_timeout(msginfo->waitevent, msginfo->wait_condition,
-			msecs_to_jiffies(1000));
-	if (msginfo->wait_condition == 0) {
+	t =  wait_for_completion_timeout(&msginfo->waitevent, HZ);
+	if (t == 0) {
 		spin_lock_irqsave(&vmbus_connection.channelmsg_lock,
 				flags);
 		list_del(&msginfo->msglistentry);
-- 
1.7.4.1


  parent reply	other threads:[~2011-05-09 21:47 UTC|newest]

Thread overview: 217+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-09 21:57 [PATCH 000/206] Staging: hv: Cleanup hv drivers K. Y. Srinivasan
2011-05-09 21:54 ` [PATCH 001/206] Staging: hv: Get rid of blkvsc_mutex K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 002/206] Staging: hv: Cleanup spin lock usage K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 003/206] Staging: hv: Fix some locking issues K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 004/206] Staging: hv: Rename driver name variable K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 005/206] Staging: hv: Rename the device type variable K. Y. Srinivasan
2011-05-10 10:11     ` Jonathan Cameron
2011-05-10 12:13       ` Greg KH
2011-05-10 12:43         ` Jonathan Cameron
2011-05-09 21:54   ` [PATCH 006/206] Staging: hv: Change the name of struct storvsc_driver_object K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 007/206] Staging: hv: Change the name of blkvsc driver variable K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 008/206] Staging: hv: Rename variables of type struct storvsc_driver * K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 009/206] Staging: hv: Rename the function blk_vsc_on_device_add K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 010/206] Staging: hv: Get rid of the indirection for invoking device_add K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 011/206] Staging: hv: Rename the function stor_vsc_device_add K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 012/206] Staging: hv: Rename the function stor_vsc_on_device_remove K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 013/206] Staging: hv: Get rid of the indirection for removing stor device K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 014/206] Staging: hv: Rename the function stor_vsc_on_cleanup K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 015/206] Staging: hv: Get rid of the indirection for invoking cleanup function K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 016/206] Staging: hv: Rename the function stor_vsc_on_io_request K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 017/206] Staging: hv: Get rid of the indirection for invoking io request K. Y. Srinivasan
2011-05-10  7:01     ` Christoph Hellwig
2011-05-09 21:55   ` [PATCH 018/206] Staging: hv: Statically initialize pointers for probe etc K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 019/206] Staging: hv: Get rid of the calls to storvsc_cleanup K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 020/206] Staging: hv: Rename the function stor_vsc_get_major_info() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 021/206] Staging: hv: Introduce a function to wait to drain outgoing I/O K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 022/206] Staging: hv: Use the newly introduced I/O drain synch method K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 023/206] Staging: hv: Cleanup blkvsc_remove() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 024/206] Staging: hv: Cleanup blkvsc_shutdown() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 025/206] Staging: hv: Rename stor_vsc_channel_init() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 026/206] Staging: hv: Rename stor_vsc_on_io_completion K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 027/206] Staging: hv: Rename stor_vsc_on_receive K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 028/206] Staging: hv: Rename stor_vsc_on_channel_callback K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 029/206] Staging: hv: Rename stor_vsc_connect_to_vsp K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 030/206] Staging: hv: Get rid of/change some dated comments K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 031/206] Staging: hv: Get rid of some unnecessary DPRINTS K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 032/206] Staging: hv: Rename g_driver_name K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 033/206] Staging: hv: Rename struct host_device_context K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 034/206] Staging: hv: Rename variables pointing to struct hv_host_device K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 035/206] Staging: hv: Rename the struct hv_device * element of " K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 036/206] Staging: hv: Rename variables pointing to struct hv_device K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 037/206] Staging: hv: Get rid of some dated comments K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 038/206] Staging: hv: Get rid of some DPRINTS K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 039/206] Staging: hv: Get rid of the forward declaration for storvsc_device_alloc() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 040/206] Staging: hv: Move the function storvsc_merge_bvec() to earlier in the file K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 041/206] Staging: hv: Get rid of the forward declaration for storvsc_device_configure() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 042/206] Staging: hv: Get rid of the forwrd declaration of destroy_bounce_buffer K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 043/206] Staging: hv: Get rid of the forward declaration for do_bounce_buffer() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 044/206] Staging: hv: Get rid of the forward declaration for create_bounce_buffer() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 045/206] Staging: hv: Get rid of the forward declaration of copy_from_bounce_buffer() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 046/206] Staging: hv: Get rid of the forward declaration for copy_to_bounce_buffer() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 047/206] Staging: hv: Get rid of the forward declaration of storvsc_remove() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 048/206] Staging: hv: Get rid of the forward declaration of storvsc_get_chs() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 049/206] Staging: hv: Staging: hv: Rename the function stor_vsc_on_host_reset() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 050/206] Staging: hv: Rename stor_vsc_initialize() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 051/206] Staging: hv: Move the definition of storvsc_host_reset() to earlier in the file K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 052/206] Staging: hv: Get rid of the forward declaration for storvsc_host_reset_handler() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 053/206] Staging: hv: Move the definition of storvsc_ringbuffer_size to earlier in the file K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 054/206] Staging: hv: Move module parameters " K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 055/206] Staging: hv: Move the function storvsc_commmand_completion() " K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 056/206] Staging: hv: Get rid of the forward declaration of storvsc_queuecommand() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 057/206] Staging: hv: Get rid of the forward declaration of storvsc_probe() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 058/206] Staging: hv: Rename the driver variable K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 059/206] Staging: hv: Move the declaration of " K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 060/206] Staging: hv: Statically initialize probe/remove elements of the driver K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 061/206] Staging: hv: Get rid of unnecessary comments/dead code K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 062/206] Staging: hv: Get rid of the indirection in invoking storvsc_dev_remove() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 063/206] Staging: hv: Get rid of the indirection in invoking storvsc_dev_add() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 064/206] Staging: hv: Get rid of the indirection in invoking storvsc_do_io() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 065/206] Staging: hv: Get rid of the code initializing the dispatch table K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 066/206] Staging: hv: Simplify the code for getting the drive parameters K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 067/206] Staging: hv: Make the function netvsc_device_add() non static K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 068/206] Staging: hv: Make netvsc_device_remove " K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 069/206] Staging: hv: Get rid of netvsc_cleanup() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 070/206] Staging: hv: Make rndis_filte_device_add() non static K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 071/206] Staging: hv: Make rndis_filter_device_remove() " K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 072/206] Staging: hv: Get rid of rndis_filter_cleanup() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 073/206] Staging: hv: Get rid of the indirection to invoke rndis_filte_device_add() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 074/206] Staging: hv: Get rid of the indirection to invoke netvsc_device_add() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 075/206] Staging: hv: Get rid of the indirection in invoking rndis_filter_device_remove() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 076/206] Staging: hv: Get rid of the indirection in invoking netvsc_device_remove() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 077/206] Staging: hv: Get rid of call to cleanup() K. Y. Srinivasan
2011-05-09 22:53     ` Greg KH
2011-05-09 23:53       ` KY Srinivasan
2011-05-10  0:18         ` Greg KH
2011-05-09 21:56   ` [PATCH 078/206] Staging: hv: Get rid of unnecessary code in netvsc.c K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 079/206] Staging: hv: Get rid of some unnecessary code in rndis_filter.c K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 080/206] Staging: hv: Get rid of the indirection to invoke mousevsc_on_device_add() K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 081/206] Staging: hv: Get rid of the indirection to invoke mousevsc_on_device_remove K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 082/206] Staging: hv: Get rid of the mouse cleanup() function K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 083/206] Staging: hv: Cleanup mouse_vsc_initialize() K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 084/206] Staging: hv: Get rid of dev_add from struct hv_driver K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 085/206] Staging: hv: Get rid of dev_rm " K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 086/206] Staging: hv: Cleanup calls to cleanup in storvsc_drv.c K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 087/206] Staging: hv: Cleanup calls to cleanup() in hv_mouse.c K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 088/206] Staging: hv: Get rid of cleanup from struct hv_driver K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 089/206] Staging: hv: Rename the variable g_netvsc_drv K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 090/206] Staging: hv: Move the declaration of the variable netvsc_drv K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 091/206] Staging: hv: Statically initialize probe/remove K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 092/206] Staging: hv: Rename the variable g_mousevsc_drv K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 093/206] Staging: hv: Move the declaration of the variable mousevsc_drv K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 094/206] Staging: hv: Statically initialize probe/remove K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 095/206] Staging: hv: Rename the function ringbuffer_init K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 096/206] Staging: hv: Rename ringbuffer_cleanup K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 097/206] Staging: hv: Rename ringbuffer_write K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 098/206] Staging: hv: Rename ringbuffer_peek K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 099/206] Staging: hv: Rename ringbuffer_read K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 100/206] Staging: hv: Rename get_ringbuffer_interrupt_mask K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 101/206] Staging: hv: Rename dump_ring_info K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 102/206] Staging: hv: Rename ringbuffer_get_debuginfo K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 103/206] Staging: hv: Rename all static functions in ring_buffer.c K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 104/206] Staging: hv: Cleanup comments " K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 105/206] Staging: hv: Get rid of the forward declaration of hv_copyfrom_ringbuffer K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 106/206] Staging: hv: Get rid of the forward declaration of hv_copyto_ringbuffer() K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 107/206] Staging: hv: Get rid of the volatile qualifier for a variable in ring_buffer.c K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 108/206] Staging: hv: Cleanup ring_buffer.h K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 109/206] Staging: hv: Rename the variable gSupportedDeviceClasses K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 110/206] Staging: hv: Rename the variable messageHandler K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 111/206] Staging: hv: Rename the variable messageType K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 112/206] Staging: hv: Rename the variable gChannelMessageTable K. Y. Srinivasan
2011-05-09 21:56   ` K. Y. Srinivasan [this message]
2011-05-09 21:56   ` [PATCH 114/206] Staging: hv: Get rid of some unnecessary state from struct vmbus_msginfo K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 115/206] Staging: hv: Use completion abstraction in struct netvsc_device K. Y. Srinivasan
2011-05-10  7:06     ` Christoph Hellwig
2011-05-10 12:52       ` KY Srinivasan
2011-05-09 21:56   ` [PATCH 116/206] Staging: hv: Use the completion abstraction in struct rndis_request K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 117/206] Staging: hv: Get rid of some dead code in channel.c K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 118/206] Staging: hv: Change Cleanup to cleanup K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 119/206] Staging: hv: Get rid of some dead code in connection.c K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 120/206] Staging: hv: Get rid of some dead code from hv.c K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 121/206] Staging: hv: Change Cleanup to cleanup K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 122/206] Staging: hv: Get rid of unnecessary state from struct storvsc_driver K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 123/206] Staging: hv: Get rid unnecessary DPRINT K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 124/206] Staging: hv: Get rid of unnecessary code/comments K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 125/206] Staging: hv: Assign the name directly K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 126/206] Staging: hv: Move the assignment of driver name K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 127/206] Staging: hv: Inline the copying of dev_type guid K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 128/206] Staging: hv: Now get rid of the empty function K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 129/206] Staging: hv: Move the sector size check into blkvsc_drv_init K. Y. Srinivasan
2011-05-10  8:49     ` Christoph Hellwig
2011-05-09 21:56   ` [PATCH 130/206] Staging: hv: Make blkvsc_drv_init the module init function K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 131/206] Staging: hv: Get rid of some unnecessary DPRINTs K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 132/206] Staging: hv: Compute max_outstanding_req_per_channel where it is needed K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 133/206] Staging: hv: Get rid of max_outstanding_req_per_channel from struct storvsc_driver K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 134/206] Staging: hv: Add ring_buffer_size to struct storvsc_device_info K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 135/206] Staging: hv: Use the rinbuffer size info in " K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 136/206] Staging: hv: Get rid of the unnecessary assignment of ring size K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 137/206] Staging: hv: Get rid of the ring size state from struct storvsc_driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 138/206] Staging: hv: Directly assign the driver name K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 139/206] Staging: hv: Move the assignment of name to the hv_driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 140/206] Staging: hv: Inline the copying of the dev_type information K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 141/206] Staging: hv: Now get rid of an empty function K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 142/206] Staging: hv: Get rid of some unused functions K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 143/206] Staging: hv: Make storvsc_drv an instance of hv_driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 144/206] Staging: hv: Make blkvsc_drv an instance of struct hv_driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 145/206] Staging: hv: Get rid of struct storvsc_driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 146/206] Staging: hv: Directly assign the driver name K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 147/206] Staging: hv: Move the assignment of name variable K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 148/206] Staging: hv: Move the code to copy dev_type information K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 149/206] Staging: hv: Get rid of an empty function K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 150/206] Staging: hv: Make mousevsc_drv an instance of struct hv_driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 151/206] Staging: hv: Get rid of some unused code K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 152/206] Staging: hv: Create a common header for all hyperv drivers to include K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 153/206] Staging: hv:Include the contents of channel.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 154/206] Staging: hv: Include the contents of channel_mgmt.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 155/206] Staging: hv: Include the contents of ring_buffer.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 156/206] Staging: hv: Include the contents of vmbus_channel_interface.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 157/206] Staging: hv: Include the contents of vmbus_packet_format.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 158/206] Staging: hv: Include the contents of logging.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 159/206] Staging: hv: Include the contents of version_info.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 160/206] Staging: hv: Add the contents of vmbus_api.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 161/206] Staging: hv: Include the contents of vmbus.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 162/206] Staging: hv: Cleanup the newly created header file K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 163/206] Staging: hv: Include asm/hyperv.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 164/206] Staging: hv: Add the definition hv_guid K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 165/206] Staging: hv: Add a new header file to include all header files private to vmbus core K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 166/206] Staging: hv: Include a subset of the contents of hv_api.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 167/206] Staging: hv: Add " K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 168/206] Staging: hv: Add the ringbuffer interfaces K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 169/206] Staging: hv: Include the contents of vmbus_private.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 170/206] Staging: hv: Cleanup the newly created header file K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 171/206] Staging: hv: Create a header file that has all the definitions needed to build Hyper-V storage drivers K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 172/206] Staging: hv: Include the contents of vstorage.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 173/206] Staging: hv: Include the contents of storvsc_api.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 174/206] Staging: hv: Create a single header file for hyper-v network drivers K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 175/206] Staging: hv: Include the contents of netvsc_api.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 176/206] Staging: hv: Include the contents of netvsc.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 177/206] Staging: hv: Include the contents of rndis.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 178/206] Staging: hv: Include the contents of rndis_filter.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 179/206] Staging: hv: Include the contents of utils.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 180/206] Staging: hv: Include the newly created header files in blkvsc_drv.c K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 181/206] Staging: hv: Include the newly created header files in storvsc.c K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 182/206] Staging: hv: Include the newly created header files in storvsc_drv.c K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 183/206] Staging: hv: Include the new header files in the network driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 184/206] Staging: hv: Include the new header files in vmbus driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 185/206] Staging: hv: Include the newly created header file in the util driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 186/206] Staging: hv: Include the newly created header file in the mouse driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 187/206] Staging: hv: Get rid of channel.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 188/206] Staging: hv: Get rid of channel_mgmt.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 189/206] Staging: hv: Get rid of hv_api.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 190/206] Staging: hv: Get rid of hv.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 191/206] Staging: hv: Get rid of logging.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 192/206] Staging: hv: Get rid of netvsc_api.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 193/206] Staging: hv: Get rid of netvsc.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 194/206] Staging: hv: Get rid of ring_buffer.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 195/206] Staging: hv: Get rid of rndis_filter.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 196/206] Staging: hv: Get rid of rndis.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 197/206] Staging: hv: Get rid of storvsc_api.h K. Y. Srinivasan
2011-05-09 21:58   ` [PATCH 198/206] Staging: hv: Get rid of utils.h K. Y. Srinivasan
2011-05-09 21:58   ` [PATCH 199/206] Staging: hv: Get rid of version_info.h K. Y. Srinivasan
2011-05-09 21:58   ` [PATCH 200/206] Staging: hv: Get rid of vmbus_api.h K. Y. Srinivasan
2011-05-09 21:58   ` [PATCH 201/206] Staging: hv: Get rid of vmbus_channel_interface.h K. Y. Srinivasan
2011-05-09 21:58   ` [PATCH 202/206] Staging: hv: Get rid of vmbus.h K. Y. Srinivasan
2011-05-09 21:58   ` [PATCH 203/206] Staging: hv: Get rid of vmbus_packet_format.h K. Y. Srinivasan
2011-05-09 21:58   ` [PATCH 204/206] Staging: hv: Get rid of vmbus_private.h K. Y. Srinivasan
2011-05-09 21:58   ` [PATCH 205/206] Staging: hv: Get rid of vstorage.h K. Y. Srinivasan
2011-05-09 21:58   ` [PATCH 206/206] Staging: hv: Get rid of the function count_hv_channel() K. Y. Srinivasan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1304978288-22999-113-git-send-email-kys@microsoft.com \
    --to=kys@microsoft.com \
    --cc=devel@linuxdriverproject.org \
    --cc=gregkh@suse.de \
    --cc=haiyangz@microsoft.com \
    --cc=hjanssen@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=v-abkane@microsoft.com \
    --cc=virtualization@lists.osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox