* We need to set the DeviceObject field before calling
* VmbusChildDeviceAdd()
*/
- newchannel->device_obj = VmbusChildDeviceCreate(
+ newchannel->device_obj = vmbus_child_device_create(
&newchannel->offermsg.offer.InterfaceType,
&newchannel->offermsg.offer.InterfaceInstance,
newchannel);
vmbus_request_offers();
}
-/*
- * VmbusCreateChildDevice - Creates the child device on the bus that represents the channel offer
- */
-struct hv_device *VmbusChildDeviceCreate(struct hv_guid *DeviceType,
- struct hv_guid *DeviceInstance,
- struct vmbus_channel *channel)
-{
- struct vmbus_driver *vmbusDriver = (struct vmbus_driver *)gDriver;
-
- return vmbusDriver->OnChildDeviceCreate(DeviceType, DeviceInstance,
- channel);
-}
-
/*
* VmbusChildDeviceAdd - Registers the child device with the vmbus
*/
struct hv_driver Base;
/* Set by the caller */
- struct hv_device * (*OnChildDeviceCreate)(struct hv_guid *DeviceType,
- struct hv_guid *DeviceInstance,
- struct vmbus_channel *channel);
void (*OnChildDeviceDestroy)(struct hv_device *device);
int (*OnChildDeviceAdd)(struct hv_device *RootDevice,
struct hv_device *ChildDevice);
static void vmbus_device_release(struct device *device);
static void vmbus_bus_release(struct device *device);
-static struct hv_device *vmbus_child_device_create(struct hv_guid *type,
- struct hv_guid *instance,
- struct vmbus_channel *channel);
static void vmbus_child_device_destroy(struct hv_device *device_obj);
static int vmbus_child_device_register(struct hv_device *root_device_obj,
struct hv_device *child_device_obj);
* Set this up to allow lower layer to callback to add/remove child
* devices on the bus
*/
- vmbus_drv_obj->OnChildDeviceCreate = vmbus_child_device_create;
vmbus_drv_obj->OnChildDeviceDestroy = vmbus_child_device_destroy;
vmbus_drv_obj->OnChildDeviceAdd = vmbus_child_device_register;
vmbus_drv_obj->OnChildDeviceRemove = vmbus_child_device_unregister;
* vmbus_child_device_create - Creates and registers a new child device
* on the vmbus.
*/
-static struct hv_device *vmbus_child_device_create(struct hv_guid *type,
- struct hv_guid *instance,
- struct vmbus_channel *channel)
+struct hv_device *vmbus_child_device_create(struct hv_guid *type,
+ struct hv_guid *instance,
+ struct vmbus_channel *channel)
{
struct vm_device *child_device_ctx;
struct hv_device *child_device_obj;
/* General vmbus interface */
-struct hv_device *VmbusChildDeviceCreate(struct hv_guid *deviceType,
+struct hv_device *vmbus_child_device_create(struct hv_guid *deviceType,
struct hv_guid *deviceInstance,
struct vmbus_channel *channel);