[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] monitor: convert do_device_del() to QObject, QError
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH] monitor: convert do_device_del() to QObject, QError |
Date: |
Wed, 17 Mar 2010 17:46:07 +0100 |
Signed-off-by: Markus Armbruster <address@hidden>
---
hw/qdev.c | 7 ++++---
hw/qdev.h | 2 +-
qemu-monitor.hx | 3 ++-
3 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/hw/qdev.c b/hw/qdev.c
index 17a46a7..35460eb 100644
--- a/hw/qdev.c
+++ b/hw/qdev.c
@@ -800,15 +800,16 @@ int do_device_add(Monitor *mon, const QDict *qdict,
QObject **ret_data)
return 0;
}
-void do_device_del(Monitor *mon, const QDict *qdict)
+int do_device_del(Monitor *mon, const QDict *qdict, QObject **ret_data)
{
const char *id = qdict_get_str(qdict, "id");
DeviceState *dev;
dev = qdev_find_recursive(main_system_bus, id);
if (NULL == dev) {
- error_report("Device '%s' not found", id);
- return;
+ qerror_report(QERR_DEVICE_NOT_FOUND, id);
+ return -1;
}
qdev_unplug(dev);
+ return 0;
}
diff --git a/hw/qdev.h b/hw/qdev.h
index 9475705..40373c8 100644
--- a/hw/qdev.h
+++ b/hw/qdev.h
@@ -176,7 +176,7 @@ void qbus_free(BusState *bus);
void do_info_qtree(Monitor *mon);
void do_info_qdm(Monitor *mon);
int do_device_add(Monitor *mon, const QDict *qdict, QObject **ret_data);
-void do_device_del(Monitor *mon, const QDict *qdict);
+int do_device_del(Monitor *mon, const QDict *qdict, QObject **ret_data);
/*** qdev-properties.c ***/
diff --git a/qemu-monitor.hx b/qemu-monitor.hx
index 5308f36..d290b4b 100644
--- a/qemu-monitor.hx
+++ b/qemu-monitor.hx
@@ -589,7 +589,8 @@ ETEXI
.args_type = "id:s",
.params = "device",
.help = "remove device",
- .mhandler.cmd = do_device_del,
+ .user_print = monitor_user_noop,
+ .mhandler.cmd_new = do_device_del,
},
STEXI
--
1.6.6.1
- [Qemu-devel] [PATCH] monitor: convert do_device_del() to QObject, QError,
Markus Armbruster <=