[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 26/58] usb: New usb_new(), usb_realize_and_unref()
From: |
Markus Armbruster |
Subject: |
[PATCH v2 26/58] usb: New usb_new(), usb_realize_and_unref() |
Date: |
Fri, 29 May 2020 15:44:51 +0200 |
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>
---
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;
--
2.21.3
- [PATCH v2 27/58] usb: Convert uses of usb_create(), (continued)
- [PATCH v2 27/58] usb: Convert uses of usb_create(), Markus Armbruster, 2020/05/29
- [PATCH v2 28/58] usb: usb_create() is now unused, drop, Markus Armbruster, 2020/05/29
- [PATCH v2 16/58] pci: Convert uses of pci_create() etc. manually, Markus Armbruster, 2020/05/29
- [PATCH v2 58/58] MAINTAINERS: Make section QOM cover hw/core/*bus.c as well, Markus Armbruster, 2020/05/29
- [PATCH v2 20/58] isa: Convert uses of isa_create(), isa_try_create() manually, Markus Armbruster, 2020/05/29
- [PATCH v2 13/58] pci: New pci_new(), pci_realize_and_unref() etc., Markus Armbruster, 2020/05/29
- [PATCH v2 36/58] qom: Less verbose object_initialize_child(), Markus Armbruster, 2020/05/29
- [PATCH v2 44/58] sysbus: New sysbus_realize(), sysbus_realize_and_unref(), Markus Armbruster, 2020/05/29
- [PATCH v2 09/58] qdev: Convert uses of qdev_create() with Coccinelle, Markus Armbruster, 2020/05/29
- [PATCH v2 26/58] usb: New usb_new(), usb_realize_and_unref(),
Markus Armbruster <=
- [PATCH v2 50/58] sysbus: Convert qdev_set_parent_bus() use with Coccinelle, part 4, Markus Armbruster, 2020/05/29
- [PATCH v2 54/58] qdev: Make qdev_realize() support bus-less devices, Markus Armbruster, 2020/05/29
- [PATCH v2 57/58] qdev: qdev_init_nofail() is now unused, drop, Markus Armbruster, 2020/05/29
- [PATCH v2 49/58] sysbus: Convert qdev_set_parent_bus() use with Coccinelle, part 3, Markus Armbruster, 2020/05/29
- [PATCH v2 47/58] sysbus: Convert qdev_set_parent_bus() use with Coccinelle, part 1, Markus Armbruster, 2020/05/29
- [PATCH v2 56/58] qdev: Convert bus-less devices to qdev_realize() with Coccinelle, Markus Armbruster, 2020/05/29
- [PATCH v2 45/58] sysbus: Convert to sysbus_realize() etc. with Coccinelle, Markus Armbruster, 2020/05/29
- [PATCH v2 43/58] sysbus: Tidy up sysbus_init_child_obj()'s @childsize arg, part 2, Markus Armbruster, 2020/05/29
- [PATCH v2 04/58] qdev: New qdev_new(), qdev_realize(), etc., Markus Armbruster, 2020/05/29