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
next prev 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: linkBe 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.