Staging: hv: Implement key/value pair (KVP)
[firefly-linux-kernel-4.4.55.git] / drivers / staging / hv / channel_mgmt.c
index d44d5c39f68bddf4c71364c80e904889a42d3c1e..fb71f88e697db5dd23f37178a1d2737fbdba9c7c 100644 (file)
@@ -34,8 +34,8 @@ struct vmbus_channel_message_table_entry {
        void (*messageHandler)(struct vmbus_channel_message_header *msg);
 };
 
-#define MAX_MSG_TYPES                    3
-#define MAX_NUM_DEVICE_CLASSES_SUPPORTED 7
+#define MAX_MSG_TYPES                    4
+#define MAX_NUM_DEVICE_CLASSES_SUPPORTED 8
 
 static const struct hv_guid
        gSupportedDeviceClasses[MAX_NUM_DEVICE_CLASSES_SUPPORTED] = {
@@ -98,6 +98,15 @@ static const struct hv_guid
                        0xab, 0x55, 0x38, 0x2f, 0x3b, 0xd5, 0x42, 0x2d
                }
        },
+       /* {A9A0F4E7-5A45-4d96-B827-8A841E8C03E6} */
+       /* KVP */
+       {
+               .data = {
+                       0xe7, 0xf4, 0xa0, 0xa9, 0x45, 0x5a, 0x96, 0x4d,
+                       0xb8, 0x27, 0x8a, 0x84, 0x1e, 0x8c, 0x3,  0xe6
+       }
+       },
+
 };
 
 
@@ -231,6 +240,16 @@ struct hyperv_service_callback hv_cb_utils[MAX_MSG_TYPES] = {
                .callback = chn_cb_negotiate,
                .log_msg = "Heartbeat channel functionality initialized"
        },
+       /* {A9A0F4E7-5A45-4d96-B827-8A841E8C03E6} */
+       /* KVP */
+       {
+               .data = {
+                       0xe7, 0xf4, 0xa0, 0xa9, 0x45, 0x5a, 0x96, 0x4d,
+                       0xb8, 0x27, 0x8a, 0x84, 0x1e, 0x8c, 0x3,  0xe6
+               },
+               .callback = chn_cb_negotiate,
+               .log_msg = "KVP channel functionality initialized"
+       },
 };
 EXPORT_SYMBOL(hv_cb_utils);