]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
Drivers: hv: util: introduce state machine for util drivers
authorVitaly Kuznetsov <vkuznets@redhat.com>
Sun, 12 Apr 2015 01:07:46 +0000 (18:07 -0700)
committerChuck Anderson <chuck.anderson@oracle.com>
Fri, 26 Feb 2016 02:29:07 +0000 (18:29 -0800)
KVP/VSS/FCOPY drivers work in fully serialized mode: we wait till userspace
daemon registers, wait for a message from the host, send this message to the
daemon, get the reply, send it back to host, wait for another message.
Introduce enum hvutil_device_state to represend this state in all 3 drivers.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Tested-by: Alex Ng <alexng@microsoft.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 636c88da6df3bb2f978b48d3a7ed55423da84d19)

Orabug: 21886720
Signed-off-by: Jason Luo <zhangqing.luo@oracle.com>
drivers/hv/hyperv_vmbus.h

index 4f32f6ab78ec6f2d018218a9d952ceec495b80d7..3d70e36c918ef3202362daa608eb86bd2fce2281 100644 (file)
@@ -771,4 +771,13 @@ static inline void hv_poll_channel(struct vmbus_channel *channel,
                cb(channel);
 }
 
+enum hvutil_device_state {
+       HVUTIL_DEVICE_INIT = 0,  /* driver is loaded, waiting for userspace */
+       HVUTIL_READY,            /* userspace is registered */
+       HVUTIL_HOSTMSG_RECEIVED, /* message from the host was received */
+       HVUTIL_USERSPACE_REQ,    /* request to userspace was sent */
+       HVUTIL_USERSPACE_RECV,   /* reply from userspace was received */
+       HVUTIL_DEVICE_DYING,     /* driver unload is in progress */
+};
+
 #endif /* _HYPERV_VMBUS_H */