]> git.proxmox.com Git - mirror_qemu.git/commitdiff
usb: add usb_bus_release function
authorGonglei <arei.gonglei@huawei.com>
Wed, 4 Jun 2014 08:31:46 +0000 (16:31 +0800)
committerGerd Hoffmann <kraxel@redhat.com>
Fri, 29 Aug 2014 10:51:44 +0000 (12:51 +0200)
add global variables releasing logic when the usb buses
were removed or hot-unpluged.

Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
hw/usb/bus.c
include/hw/usb.h

index 516fb52993dec8b7457f093f8728af8840e210eb..c7c4dadedd2b1c256cbb875fe6ca4a6e61a5bd29 100644 (file)
@@ -87,6 +87,13 @@ void usb_bus_new(USBBus *bus, size_t bus_size,
     QTAILQ_INSERT_TAIL(&busses, bus, next);
 }
 
+void usb_bus_release(USBBus *bus)
+{
+    assert(next_usb_bus > 0);
+
+    QTAILQ_REMOVE(&busses, bus, next);
+}
+
 USBBus *usb_bus_find(int busnr)
 {
     USBBus *bus;
index 223a5aef8f90ee63b10d3f88cd5ded718c77dd6b..6b32a3bb701389e4a63c7ff19fabaf7b82a23bc9 100644 (file)
@@ -529,6 +529,7 @@ struct USBBusOps {
 
 void usb_bus_new(USBBus *bus, size_t bus_size,
                  USBBusOps *ops, DeviceState *host);
+void usb_bus_release(USBBus *bus);
 USBBus *usb_bus_find(int busnr);
 void usb_legacy_register(const char *typename, const char *usbdevice_name,
                          USBDevice *(*usbdevice_init)(USBBus *bus,