/* vmbus_match - Attempt to match the specified device to the specified driver  */
static int vmbus_match(struct device *device, struct device_driver *driver)
/* vmbus_match - Attempt to match the specified device to the specified driver  */
static int vmbus_match(struct device *device, struct device_driver *driver)
{
	int match = 0;
	struct driver_context *driver_ctx = driver_to_driver_context(driver);
	struct device_context *device_ctx = device_to_device_context(device);
	DPRINT_ENTER(VMBUS_DRV);
	if (memcmp(&device_ctx->class_id, &driver_ctx->class_id,
		   sizeof(struct hv_guid)) == 0) {
		struct vmbus_driver_context *vmbus_drv_ctx =
			(struct vmbus_driver_context *)driver_ctx;
		device_ctx->device_obj.Driver = &vmbus_drv_ctx->drv_obj.Base;
		DPRINT_INFO(VMBUS_DRV,
			    "device object (%p) set to driver object (%p)",
			    &device_ctx->device_obj,
			    device_ctx->device_obj.Driver);
		match = 1;
	}
	DPRINT_EXIT(VMBUS_DRV);
	return match;
}