diff options
author | Vitaly Kuznetsov <vkuznets@redhat.com> | 2015-04-11 21:07:46 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-05-24 15:17:41 -0400 |
commit | 636c88da6df3bb2f978b48d3a7ed55423da84d19 (patch) | |
tree | bb6abd4d764c96eb90e7ec8cfc67fa7e791abdd6 /drivers/hv | |
parent | 1d072339fa9e32365d282d8ade32822de7d21e5f (diff) |
Drivers: hv: util: introduce state machine for util drivers
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>
Diffstat (limited to 'drivers/hv')
-rw-r--r-- | drivers/hv/hyperv_vmbus.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h index 2f30456d90a5..138d6634c79d 100644 --- a/drivers/hv/hyperv_vmbus.h +++ b/drivers/hv/hyperv_vmbus.h | |||
@@ -755,4 +755,13 @@ static inline void hv_poll_channel(struct vmbus_channel *channel, | |||
755 | cb(channel); | 755 | cb(channel); |
756 | } | 756 | } |
757 | 757 | ||
758 | enum hvutil_device_state { | ||
759 | HVUTIL_DEVICE_INIT = 0, /* driver is loaded, waiting for userspace */ | ||
760 | HVUTIL_READY, /* userspace is registered */ | ||
761 | HVUTIL_HOSTMSG_RECEIVED, /* message from the host was received */ | ||
762 | HVUTIL_USERSPACE_REQ, /* request to userspace was sent */ | ||
763 | HVUTIL_USERSPACE_RECV, /* reply from userspace was received */ | ||
764 | HVUTIL_DEVICE_DYING, /* driver unload is in progress */ | ||
765 | }; | ||
766 | |||
758 | #endif /* _HYPERV_VMBUS_H */ | 767 | #endif /* _HYPERV_VMBUS_H */ |