diff options
author | K. Y. Srinivasan <kys@microsoft.com> | 2012-12-01 06:46:41 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-17 11:34:36 -0800 |
commit | 37f7278b81a9ab9b76cf4d716ba420444ca4a616 (patch) | |
tree | 5009a8fe1db5b3e8a88f7d307ddca8b85fc2a912 | |
parent | 29423b7e51a8ea4d687cf98c3a50f33c554be194 (diff) | |
download | op-kernel-dev-37f7278b81a9ab9b76cf4d716ba420444ca4a616.zip op-kernel-dev-37f7278b81a9ab9b76cf4d716ba420444ca4a616.tar.gz |
Drivers: hv: Save and export negotiated vmbus version
Export the negotiated vmbus version as this may be useful for
individual drivers.
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/hv/connection.c | 9 | ||||
-rw-r--r-- | include/linux/hyperv.h | 6 |
2 files changed, 15 insertions, 0 deletions
diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c index 2b56a3f..70ea5d1 100644 --- a/drivers/hv/connection.c +++ b/drivers/hv/connection.c @@ -30,6 +30,7 @@ #include <linux/slab.h> #include <linux/vmalloc.h> #include <linux/hyperv.h> +#include <linux/export.h> #include <asm/hyperv.h> #include "hyperv_vmbus.h" @@ -54,6 +55,12 @@ struct vmbus_connection vmbus_connection = { #define VERSION_INVAL -1 +/* + * Negotiated protocol version with the host. + */ +__u32 vmbus_proto_version; +EXPORT_SYMBOL_GPL(vmbus_proto_version); + static __u32 vmbus_get_next_version(__u32 current_version) { switch (current_version) { @@ -215,6 +222,8 @@ int vmbus_connect(void) if (version == VERSION_INVAL) goto cleanup; + vmbus_proto_version = version; + pr_info("Negotiated host information %d\n", version); kfree(msginfo); return 0; diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h index bee559a..134a202 100644 --- a/include/linux/hyperv.h +++ b/include/linux/hyperv.h @@ -1204,5 +1204,11 @@ int hv_kvp_init(struct hv_util_service *); void hv_kvp_deinit(void); void hv_kvp_onchannelcallback(void *); +/* + * Negotiated version with the Host. + */ + +extern __u32 vmbus_proto_version; + #endif /* __KERNEL__ */ #endif /* _HYPERV_H */ |