On 5/29/20 3:44 PM, Markus Armbruster wrote: > 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 <kra...@redhat.com> > Signed-off-by: Markus Armbruster <arm...@redhat.com> > Reviewed-by: Gerd Hoffmann <kra...@redhat.com> > --- > include/hw/usb.h | 2 ++ > hw/usb/bus.c | 10 ++++++++++ > 2 files changed, 12 insertions(+) > > diff --git a/include/hw/usb.h b/include/hw/usb.h > index 1cf1cd9584..2d2730f161 100644 > --- a/include/hw/usb.h > +++ b/include/hw/usb.h > @@ -534,6 +534,8 @@ USBBus *usb_bus_find(int busnr); > void usb_legacy_register(const char *typename, const char *usbdevice_name, > USBDevice *(*usbdevice_init)(USBBus *bus, > 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_simple(USBBus *bus, const char *name); > USBDevice *usbdevice_create(const char *cmdline); > diff --git a/hw/usb/bus.c b/hw/usb/bus.c > index d28eff1b5c..6b0d9f9e4d 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; >
Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com>