[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH 3/7] qdev-monitor: Factor out find_device_state(
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [RFC PATCH 3/7] qdev-monitor: Factor out find_device_state() |
Date: |
Thu, 23 Jun 2016 16:36:28 +0200 |
Signed-off-by: Kevin Wolf <address@hidden>
---
qdev-monitor.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/qdev-monitor.c b/qdev-monitor.c
index e19617f..bc0213f 100644
--- a/qdev-monitor.c
+++ b/qdev-monitor.c
@@ -801,7 +801,7 @@ void qmp_device_add(QDict *qdict, QObject **ret_data, Error
**errp)
object_unref(OBJECT(dev));
}
-void qmp_device_del(const char *id, Error **errp)
+static DeviceState *find_device_state(const char *id, Error **errp)
{
Object *obj;
@@ -819,15 +819,23 @@ void qmp_device_del(const char *id, Error **errp)
if (!obj) {
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", id);
- return;
+ return NULL;
}
if (!object_dynamic_cast(obj, TYPE_DEVICE)) {
error_setg(errp, "%s is not a hotpluggable device", id);
- return;
+ return NULL;
}
- qdev_unplug(DEVICE(obj), errp);
+ return DEVICE(obj);
+}
+
+void qmp_device_del(const char *id, Error **errp)
+{
+ DeviceState *dev = find_device_state(id, errp);
+ if (dev != NULL) {
+ qdev_unplug(dev, errp);
+ }
}
void qdev_machine_init(void)
--
1.8.3.1
- [Qemu-devel] [RFC PATCH 0/7] BlockBackends, nodes and guest devices, Kevin Wolf, 2016/06/23
- [Qemu-devel] [RFC PATCH 1/7] block/qdev: Allow node name for drive properties, Kevin Wolf, 2016/06/23
- [Qemu-devel] [RFC PATCH 4/7] qdev-monitor: Add blk_by_qdev_id(), Kevin Wolf, 2016/06/23
- [Qemu-devel] [RFC PATCH 3/7] qdev-monitor: Factor out find_device_state(),
Kevin Wolf <=
- [Qemu-devel] [RFC PATCH 2/7] block: Add blk_by_dev(), Kevin Wolf, 2016/06/23
- [Qemu-devel] [RFC PATCH 5/7] block: Accept device model name for blockdev-open/close-tray, Kevin Wolf, 2016/06/23
- [Qemu-devel] [RFC PATCH 7/7] block/qdev: Allow configuring WCE with qdev properties, Kevin Wolf, 2016/06/23
- [Qemu-devel] [RFC PATCH 6/7] block: Accept node-name for block-stream, Kevin Wolf, 2016/06/23