All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vitaly Kuznetsov <vkuznets@redhat.com>
To: "K. Y. Srinivasan" <kys@microsoft.com>, devel@linuxdriverproject.org
Cc: Haiyang Zhang <haiyangz@microsoft.com>,
	linux-kernel@vger.kernel.org, Dexuan Cui <decui@microsoft.com>,
	Radim Krcmar <rkrcmar@redhat.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-api@vger.kernel.org
Subject: [PATCH v3 03/21] Drivers: hv: kvp: move poll_channel() to hyperv_vmbus.h
Date: Thu,  9 Apr 2015 10:38:32 +0200	[thread overview]
Message-ID: <1428568730-6030-4-git-send-email-vkuznets@redhat.com> (raw)
In-Reply-To: <1428568730-6030-1-git-send-email-vkuznets@redhat.com>

..., make it inline and rename it to hv_poll_channel() so it can be reused
in other hv_util modules.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
---
 drivers/hv/hv_kvp.c       | 17 +++--------------
 drivers/hv/hyperv_vmbus.h | 12 ++++++++++++
 2 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/drivers/hv/hv_kvp.c b/drivers/hv/hv_kvp.c
index caa467d..939c3e7 100644
--- a/drivers/hv/hv_kvp.c
+++ b/drivers/hv/hv_kvp.c
@@ -128,17 +128,6 @@ kvp_work_func(struct work_struct *dummy)
 	kvp_respond_to_host(NULL, HV_E_FAIL);
 }
 
-static void poll_channel(struct vmbus_channel *channel)
-{
-	if (channel->target_cpu != smp_processor_id())
-		smp_call_function_single(channel->target_cpu,
-					 hv_kvp_onchannelcallback,
-					 channel, true);
-	else
-		hv_kvp_onchannelcallback(channel);
-}
-
-
 static int kvp_handle_handshake(struct hv_kvp_msg *msg)
 {
 	int ret = 1;
@@ -166,8 +155,8 @@ static int kvp_handle_handshake(struct hv_kvp_msg *msg)
 		pr_info("KVP: user-mode registering done.\n");
 		kvp_register(dm_reg_value);
 		kvp_transaction.active = false;
-		if (kvp_transaction.kvp_context)
-			poll_channel(kvp_transaction.kvp_context);
+		hv_poll_channel(kvp_transaction.kvp_context,
+				hv_kvp_onchannelcallback);
 	}
 	return ret;
 }
@@ -587,7 +576,7 @@ response_done:
 
 	vmbus_sendpacket(channel, recv_buffer, buf_len, req_id,
 				VM_PKT_DATA_INBAND, 0);
-	poll_channel(channel);
+	hv_poll_channel(channel, hv_kvp_onchannelcallback);
 }
 
 /*
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
index ddcf6c4..2f30456 100644
--- a/drivers/hv/hyperv_vmbus.h
+++ b/drivers/hv/hyperv_vmbus.h
@@ -742,5 +742,17 @@ int hv_fcopy_init(struct hv_util_service *);
 void hv_fcopy_deinit(void);
 void hv_fcopy_onchannelcallback(void *);
 
+static inline void hv_poll_channel(struct vmbus_channel *channel,
+				   void (*cb)(void *))
+{
+	if (!channel)
+		return;
+
+	if (channel->target_cpu != smp_processor_id())
+		smp_call_function_single(channel->target_cpu,
+					 cb, channel, true);
+	else
+		cb(channel);
+}
 
 #endif /* _HYPERV_VMBUS_H */
-- 
1.9.3


WARNING: multiple messages have this Message-ID (diff)
From: Vitaly Kuznetsov <vkuznets@redhat.com>
To: "K. Y. Srinivasan" <kys@microsoft.com>, devel@linuxdriverproject.org
Cc: Radim Krcmar <rkrcmar@redhat.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	linux-kernel@vger.kernel.org, linux-api@vger.kernel.org
Subject: [PATCH v3 03/21] Drivers: hv: kvp: move poll_channel() to hyperv_vmbus.h
Date: Thu,  9 Apr 2015 10:38:32 +0200	[thread overview]
Message-ID: <1428568730-6030-4-git-send-email-vkuznets@redhat.com> (raw)
In-Reply-To: <1428568730-6030-1-git-send-email-vkuznets@redhat.com>

..., make it inline and rename it to hv_poll_channel() so it can be reused
in other hv_util modules.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
---
 drivers/hv/hv_kvp.c       | 17 +++--------------
 drivers/hv/hyperv_vmbus.h | 12 ++++++++++++
 2 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/drivers/hv/hv_kvp.c b/drivers/hv/hv_kvp.c
index caa467d..939c3e7 100644
--- a/drivers/hv/hv_kvp.c
+++ b/drivers/hv/hv_kvp.c
@@ -128,17 +128,6 @@ kvp_work_func(struct work_struct *dummy)
 	kvp_respond_to_host(NULL, HV_E_FAIL);
 }
 
-static void poll_channel(struct vmbus_channel *channel)
-{
-	if (channel->target_cpu != smp_processor_id())
-		smp_call_function_single(channel->target_cpu,
-					 hv_kvp_onchannelcallback,
-					 channel, true);
-	else
-		hv_kvp_onchannelcallback(channel);
-}
-
-
 static int kvp_handle_handshake(struct hv_kvp_msg *msg)
 {
 	int ret = 1;
@@ -166,8 +155,8 @@ static int kvp_handle_handshake(struct hv_kvp_msg *msg)
 		pr_info("KVP: user-mode registering done.\n");
 		kvp_register(dm_reg_value);
 		kvp_transaction.active = false;
-		if (kvp_transaction.kvp_context)
-			poll_channel(kvp_transaction.kvp_context);
+		hv_poll_channel(kvp_transaction.kvp_context,
+				hv_kvp_onchannelcallback);
 	}
 	return ret;
 }
@@ -587,7 +576,7 @@ response_done:
 
 	vmbus_sendpacket(channel, recv_buffer, buf_len, req_id,
 				VM_PKT_DATA_INBAND, 0);
-	poll_channel(channel);
+	hv_poll_channel(channel, hv_kvp_onchannelcallback);
 }
 
 /*
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
index ddcf6c4..2f30456 100644
--- a/drivers/hv/hyperv_vmbus.h
+++ b/drivers/hv/hyperv_vmbus.h
@@ -742,5 +742,17 @@ int hv_fcopy_init(struct hv_util_service *);
 void hv_fcopy_deinit(void);
 void hv_fcopy_onchannelcallback(void *);
 
+static inline void hv_poll_channel(struct vmbus_channel *channel,
+				   void (*cb)(void *))
+{
+	if (!channel)
+		return;
+
+	if (channel->target_cpu != smp_processor_id())
+		smp_call_function_single(channel->target_cpu,
+					 cb, channel, true);
+	else
+		cb(channel);
+}
 
 #endif /* _HYPERV_VMBUS_H */
-- 
1.9.3

  parent reply	other threads:[~2015-04-09  8:45 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-09  8:38 [PATCH v3 00/21] Drivers: hv: utils: re-implement the kernel/userspace communication layer Vitaly Kuznetsov
2015-04-09  8:38 ` Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 01/21] Drivers: hv: util: move kvp/vss function declarations to hyperv_vmbus.h Vitaly Kuznetsov
2015-04-09  8:38   ` Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 02/21] Drivers: hv: kvp: reset kvp_context Vitaly Kuznetsov
2015-04-09  8:38   ` Vitaly Kuznetsov
2015-04-09  8:38 ` Vitaly Kuznetsov [this message]
2015-04-09  8:38   ` [PATCH v3 03/21] Drivers: hv: kvp: move poll_channel() to hyperv_vmbus.h Vitaly Kuznetsov
2015-04-10 18:27   ` Dan Carpenter
2015-04-10 18:27     ` Dan Carpenter
2015-04-13  8:36     ` Vitaly Kuznetsov
2015-04-13  8:36       ` Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 04/21] Drivers: hv: fcopy: process deferred messages when we complete the transaction Vitaly Kuznetsov
2015-04-09  8:38   ` Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 05/21] Drivers: hv: vss: " Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 06/21] Drivers: hv: kvp: rename kvp_work -> kvp_timeout_work Vitaly Kuznetsov
2015-04-09  8:38   ` Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 07/21] Drivers: hv: fcopy: rename fcopy_work -> fcopy_timeout_work Vitaly Kuznetsov
2015-04-09  8:38   ` Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 08/21] Drivers: hv: util: introduce state machine for util drivers Vitaly Kuznetsov
2015-04-09  8:38   ` Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 09/21] Drivers: hv: kvp: switch to using the hvutil_device_state state machine Vitaly Kuznetsov
2015-04-09  8:38   ` Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 10/21] Drivers: hv: vss: " Vitaly Kuznetsov
2015-04-09  8:38   ` Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 11/21] Drivers: hv: fcopy: " Vitaly Kuznetsov
2015-04-09  8:38   ` Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 12/21] Drivers: hv: fcopy: set .owner reference for file operations Vitaly Kuznetsov
2015-04-09  8:38   ` Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 13/21] Drivers: hv: util: introduce hv_utils_transport abstraction Vitaly Kuznetsov
2015-04-09  8:38   ` Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 14/21] Drivers: hv: vss: convert to hv_utils_transport Vitaly Kuznetsov
2015-04-09  8:38   ` Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 15/21] Drivers: hv: fcopy: " Vitaly Kuznetsov
2015-04-09  8:38   ` Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 16/21] Drivers: hv: kvp: " Vitaly Kuznetsov
2015-04-09  8:38   ` Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 17/21] Tools: hv: kvp: use misc char device to communicate with kernel Vitaly Kuznetsov
2015-04-09  8:38   ` Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 18/21] Tools: hv: vss: " Vitaly Kuznetsov
2015-04-09  8:38   ` Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 19/21] Drivers: hv: vss: full handshake support Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 20/21] Drivers: hv: fcopy: " Vitaly Kuznetsov
2015-04-09  8:38   ` Vitaly Kuznetsov
2015-04-09  8:38 ` [PATCH v3 21/21] Drivers: hv: utils: unify driver registration reporting Vitaly Kuznetsov

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=1428568730-6030-4-git-send-email-vkuznets@redhat.com \
    --to=vkuznets@redhat.com \
    --cc=decui@microsoft.com \
    --cc=devel@linuxdriverproject.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=haiyangz@microsoft.com \
    --cc=kys@microsoft.com \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rkrcmar@redhat.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.