usb-redir: convert init to realize

In this way, all the implementations now use
error_setg instead of qerror_report for reporting error.

Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Gonglei 2014-09-19 14:48:39 +08:00 committed by Gerd Hoffmann
parent 5450eeaaad
commit 77e35b4bbe

View File

@ -1361,14 +1361,14 @@ static void usbredir_init_endpoints(USBRedirDevice *dev)
} }
} }
static int usbredir_initfn(USBDevice *udev) static void usbredir_realize(USBDevice *udev, Error **errp)
{ {
USBRedirDevice *dev = DO_UPCAST(USBRedirDevice, dev, udev); USBRedirDevice *dev = DO_UPCAST(USBRedirDevice, dev, udev);
int i; int i;
if (dev->cs == NULL) { if (dev->cs == NULL) {
qerror_report(QERR_MISSING_PARAMETER, "chardev"); error_set(errp, QERR_MISSING_PARAMETER, "chardev");
return -1; return;
} }
if (dev->filter_str) { if (dev->filter_str) {
@ -1376,9 +1376,9 @@ static int usbredir_initfn(USBDevice *udev)
&dev->filter_rules, &dev->filter_rules,
&dev->filter_rules_count); &dev->filter_rules_count);
if (i) { if (i) {
qerror_report(QERR_INVALID_PARAMETER_VALUE, "filter", error_set(errp, QERR_INVALID_PARAMETER_VALUE, "filter",
"a usb device filter string"); "a usb device filter string");
return -1; return;
} }
} }
@ -1402,7 +1402,6 @@ static int usbredir_initfn(USBDevice *udev)
qemu_add_vm_change_state_handler(usbredir_vm_state_change, dev); qemu_add_vm_change_state_handler(usbredir_vm_state_change, dev);
add_boot_device_path(dev->bootindex, &udev->qdev, NULL); add_boot_device_path(dev->bootindex, &udev->qdev, NULL);
return 0;
} }
static void usbredir_cleanup_device_queues(USBRedirDevice *dev) static void usbredir_cleanup_device_queues(USBRedirDevice *dev)
@ -2481,7 +2480,7 @@ static void usbredir_class_initfn(ObjectClass *klass, void *data)
USBDeviceClass *uc = USB_DEVICE_CLASS(klass); USBDeviceClass *uc = USB_DEVICE_CLASS(klass);
DeviceClass *dc = DEVICE_CLASS(klass); DeviceClass *dc = DEVICE_CLASS(klass);
uc->init = usbredir_initfn; uc->realize = usbredir_realize;
uc->product_desc = "USB Redirection Device"; uc->product_desc = "USB Redirection Device";
uc->handle_destroy = usbredir_handle_destroy; uc->handle_destroy = usbredir_handle_destroy;
uc->cancel_packet = usbredir_cancel_packet; uc->cancel_packet = usbredir_cancel_packet;