aboutsummaryrefslogtreecommitdiff
path: root/hw/usb
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2020-06-10 07:32:15 +0200
committerMarkus Armbruster <armbru@redhat.com>2020-06-15 22:05:28 +0200
commit32aaaebe5665a75f8be8d76ba3ecfcf87627858b (patch)
tree416976816c8a1654977d941573861452e395577d /hw/usb
parent7ce8d8c8d5b4d7492bd493d6f12b68e23c1d864d (diff)
downloadqemu-32aaaebe5665a75f8be8d76ba3ecfcf87627858b.zip
qemu-32aaaebe5665a75f8be8d76ba3ecfcf87627858b.tar.gz
qemu-32aaaebe5665a75f8be8d76ba3ecfcf87627858b.tar.bz2
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>
Diffstat (limited to 'hw/usb')
-rw-r--r--hw/usb/bus.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/hw/usb/bus.c b/hw/usb/bus.c
index d28eff1..6b0d9f9 100644
--- a/hw/usb/bus.c
+++ b/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)
{
DeviceState *dev;