[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 42/47] qdev: device_del: Search for to be unplugged d
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PULL 42/47] qdev: device_del: Search for to be unplugged device in 'peripheral' container |
Date: |
Wed, 15 Oct 2014 05:09:16 +0200 |
From: Igor Mammedov <address@hidden>
device_add puts every device with 'id' inside of 'peripheral'
container using id's value as the last component name.
Use it by replacing recursive search on sysbus with path
lookup in 'peripheral' container, which could handle both
BUS and BUS-less device cases.
Signed-off-by: Igor Mammedov <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
---
qdev-monitor.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/qdev-monitor.c b/qdev-monitor.c
index c721451..754437b 100644
--- a/qdev-monitor.c
+++ b/qdev-monitor.c
@@ -686,15 +686,20 @@ int do_device_add(Monitor *mon, const QDict *qdict,
QObject **ret_data)
void qmp_device_del(const char *id, Error **errp)
{
- DeviceState *dev;
+ Object *obj;
+ char *root_path = object_get_canonical_path(qdev_get_peripheral());
+ char *path = g_strdup_printf("%s/%s", root_path, id);
- dev = qdev_find_recursive(sysbus_get_default(), id);
- if (!dev) {
+ g_free(root_path);
+ obj = object_resolve_path_type(path, TYPE_DEVICE, NULL);
+ g_free(path);
+
+ if (!obj) {
error_set(errp, QERR_DEVICE_NOT_FOUND, id);
return;
}
- qdev_unplug(dev, errp);
+ qdev_unplug(DEVICE(obj), errp);
}
void qdev_machine_init(void)
--
1.8.4.5
- [Qemu-devel] [PULL 32/47] scsi: Convert pvscsi HBA to hotplug handler API, (continued)
- [Qemu-devel] [PULL 32/47] scsi: Convert pvscsi HBA to hotplug handler API, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 28/47] s390x: Drop not used allow_hotplug in event-facility, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 26/47] virtio-serial: Convert to hotplug-handler API, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 33/47] scsi: Convert virtio-scsi HBA to hotplug handler API, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 36/47] usb-bot: Drop not needed "allow_hotplug = 0", Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 37/47] usb-storage: Drop not needed "allow_hotplug = 0", Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 43/47] qdev: Add description field in PropertyInfo struct, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 38/47] usb: Convert usb-ccid to hotplug handler API, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 35/47] usb-bot: Mark device as non hotpluggable, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 39/47] usb: Convert usb devices to hotplug handler API, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 42/47] qdev: device_del: Search for to be unplugged device in 'peripheral' container,
Andreas Färber <=
- [Qemu-devel] [PULL 41/47] qdev: HotplugHandler: Add support for unplugging BUS-less devices, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 45/47] qdev: Set the object property's description to the qdev property's., Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 44/47] qom: Add description field in ObjectProperty struct, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 40/47] qdev: Drop legacy hotplug fields/methods, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 46/47] qmp: Print descriptions of object properties, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 47/47] qdev: Drop legacy_name from qdev properties, Andreas Färber, 2014/10/14
- Re: [Qemu-devel] [PULL 00/47] QOM devices patch queue 2014-10-15, Peter Maydell, 2014/10/15