diff options
author | K. Y. Srinivasan <kys@microsoft.com> | 2011-05-12 19:34:24 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-05-17 11:46:17 -0700 |
commit | 35ea09c390378a4189f145fa4e894d42d21bd896 (patch) | |
tree | 888a9cb61b4b4b11d7faea7c5346f93dcfaa38a5 /drivers/staging/hv/hyperv.h | |
parent | f63c9149d052c86113fc84edd4ce138db44e768a (diff) | |
download | op-kernel-dev-35ea09c390378a4189f145fa4e894d42d21bd896.zip op-kernel-dev-35ea09c390378a4189f145fa4e894d42d21bd896.tar.gz |
Staging: hv: Move the contents of vmbus_api.h to hyperv.h
Move the contents of vmbus_api.h to hyperv.h.
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Abhishek Kane <v-abkane@microsoft.com>
Signed-off-by: Hank Janssen <hjanssen@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.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/drivers/staging/hv/hyperv.h b/drivers/staging/hv/hyperv.h index a596039..10042b0 100644 --- a/drivers/staging/hv/hyperv.h +++ b/drivers/staging/hv/hyperv.h @@ -757,4 +757,69 @@ extern unsigned int vmbus_loglevel; __func__, ## args);\ } while (0) + + +#include <linux/device.h> +#include <linux/workqueue.h> + +struct hv_driver; +struct hv_device; + +struct hv_dev_port_info { + u32 int_mask; + u32 read_idx; + u32 write_idx; + u32 bytes_avail_toread; + u32 bytes_avail_towrite; +}; + +struct hv_device_info { + u32 chn_id; + u32 chn_state; + struct hv_guid chn_type; + struct hv_guid chn_instance; + + u32 monitor_id; + u32 server_monitor_pending; + u32 server_monitor_latency; + u32 server_monitor_conn_id; + u32 client_monitor_pending; + u32 client_monitor_latency; + u32 client_monitor_conn_id; + + struct hv_dev_port_info inbound; + struct hv_dev_port_info outbound; +}; + +/* Base driver object */ +struct hv_driver { + const char *name; + + /* the device type supported by this driver */ + struct hv_guid dev_type; + + struct device_driver driver; + + int (*probe)(struct hv_device *); + int (*remove)(struct hv_device *); + void (*shutdown)(struct hv_device *); + +}; + +/* Base device object */ +struct hv_device { + /* the device type id of this device */ + struct hv_guid dev_type; + + /* the device instance id of this device */ + struct hv_guid dev_instance; + + struct device device; + + struct vmbus_channel *channel; + + /* Device extension; */ + void *ext; +}; + #endif /* _HYPERV_H */ |