summaryrefslogtreecommitdiffstats
path: root/drivers/staging/hv/hyperv.h
diff options
context:
space:
mode:
authorK. Y. Srinivasan2011-09-18 19:31:33 +0200
committerGreg Kroah-Hartman2011-09-20 22:00:53 +0200
commita29b643c5767558956450b86d79eb66334704ac2 (patch)
tree0b16c1e881d26af0ed783a3149e5c19e46902aea /drivers/staging/hv/hyperv.h
parentstaging: wlags49_h2: Support standard WEXT events (diff)
downloadkernel-qcow2-linux-a29b643c5767558956450b86d79eb66334704ac2.tar.gz
kernel-qcow2-linux-a29b643c5767558956450b86d79eb66334704ac2.tar.xz
kernel-qcow2-linux-a29b643c5767558956450b86d79eb66334704ac2.zip
Staging: hv: util: Perform some service specific init/deinit in probe/remove
In preparation for modifying the util driver to fully conform to the Linux Driver Model, perform some service specific init and de-init operations in util_probe()/util_remove() as opposed to in init_hyperv_utils()/exit_hyperv_utils() as is currently done. Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/hv/hyperv.h')
-rw-r--r--drivers/staging/hv/hyperv.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/staging/hv/hyperv.h b/drivers/staging/hv/hyperv.h
index 76e2ddd437d9..5c3e297e11b6 100644
--- a/drivers/staging/hv/hyperv.h
+++ b/drivers/staging/hv/hyperv.h
@@ -889,6 +889,19 @@ void vmbus_driver_unregister(struct hv_driver *hv_driver);
#define HV_ERROR_NOT_SUPPORTED 0x80070032
#define HV_ERROR_MACHINE_LOCKED 0x800704F7
+/*
+ * While we want to handle util services as regular devices,
+ * there is only one instance of each of these services; so
+ * we statically allocate the service specific state.
+ */
+
+struct hv_util_service {
+ u8 *recv_buffer;
+ void (*util_cb)(void *);
+ int (*util_init)(struct hv_util_service *);
+ void (*util_deinit)(void);
+};
+
struct vmbuspipe_hdr {
u32 flags;
u32 msgsize;