mirror of https://github.com/xemu-project/xemu.git
usb: New usb_new(), usb_realize_and_unref()
I'm converting from qdev_create()/qdev_init_nofail() to qdev_new()/qdev_realize_and_unref(); recent commit "qdev: New qdev_new(), qdev_realize(), etc." explains why. USB devices use qdev_create() through usb_create(). Provide usb_new() and usb_realize_and_unref() for converting USB devices. Cc: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20200610053247.1583243-27-armbru@redhat.com>
This commit is contained in:
parent
7ce8d8c8d5
commit
32aaaebe56
10
hw/usb/bus.c
10
hw/usb/bus.c
|
@ -314,6 +314,16 @@ void usb_legacy_register(const char *typename, const char *usbdevice_name,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
USBDevice *usb_new(const char *name)
|
||||||
|
{
|
||||||
|
return USB_DEVICE(qdev_new(name));
|
||||||
|
}
|
||||||
|
|
||||||
|
bool usb_realize_and_unref(USBDevice *dev, USBBus *bus, Error **errp)
|
||||||
|
{
|
||||||
|
return qdev_realize_and_unref(&dev->qdev, &bus->qbus, errp);
|
||||||
|
}
|
||||||
|
|
||||||
USBDevice *usb_create(USBBus *bus, const char *name)
|
USBDevice *usb_create(USBBus *bus, const char *name)
|
||||||
{
|
{
|
||||||
DeviceState *dev;
|
DeviceState *dev;
|
||||||
|
|
|
@ -504,6 +504,8 @@ USBBus *usb_bus_find(int busnr);
|
||||||
void usb_legacy_register(const char *typename, const char *usbdevice_name,
|
void usb_legacy_register(const char *typename, const char *usbdevice_name,
|
||||||
USBDevice *(*usbdevice_init)(USBBus *bus,
|
USBDevice *(*usbdevice_init)(USBBus *bus,
|
||||||
const char *params));
|
const char *params));
|
||||||
|
USBDevice *usb_new(const char *name);
|
||||||
|
bool usb_realize_and_unref(USBDevice *dev, USBBus *bus, Error **errp);
|
||||||
USBDevice *usb_create(USBBus *bus, const char *name);
|
USBDevice *usb_create(USBBus *bus, const char *name);
|
||||||
USBDevice *usb_create_simple(USBBus *bus, const char *name);
|
USBDevice *usb_create_simple(USBBus *bus, const char *name);
|
||||||
USBDevice *usbdevice_create(const char *cmdline);
|
USBDevice *usbdevice_create(const char *cmdline);
|
||||||
|
|
Loading…
Reference in New Issue