* Return: 0 if successful, otherwise the negative value returned by
* device_add() indicating the reason for failure
*/
-static int create_visor_device(struct visor_device *dev)
+int create_visor_device(struct visor_device *dev)
{
int err;
u32 chipset_bus_no = dev->chipset_bus_no;
goto err_put;
list_add_tail(&dev->list_all, &list_all_device_instances);
+ dev->state.created = 1;
+ visorbus_response(dev, err, CONTROLVM_DEVICE_CREATE);
/* success: reference kept via unmatched get_device() */
return 0;
}
}
-int visorchipset_device_create(struct visor_device *dev_info)
-{
- int err;
-
- err = create_visor_device(dev_info);
- if (err < 0)
- return err;
-
- visorbus_response(dev_info, err, CONTROLVM_DEVICE_CREATE);
- dev_info->state.created = 1;
-
- return 0;
-}
-
void visorchipset_device_destroy(struct visor_device *dev_info)
{
remove_visor_device(dev_info);
int visorbus_create_instance(struct visor_device *dev);
void visorbus_remove_instance(struct visor_device *bus_info);
-int visorchipset_device_create(struct visor_device *dev_info);
+int create_visor_device(struct visor_device *dev_info);
void visorchipset_device_destroy(struct visor_device *dev_info);
int visorchipset_device_pause(struct visor_device *dev_info);
int visorchipset_device_resume(struct visor_device *dev_info);
sizeof(struct controlvm_message_header));
dev_info->pending_msg_hdr = pmsg_hdr;
}
- /* visorchipset_device_create will send response */
- err = visorchipset_device_create(dev_info);
+ /* create_visor_device will send response */
+ err = create_visor_device(dev_info);
if (err)
goto err_destroy_visorchannel;