diff options
author | Anthony Liguori | 2012-04-10 15:17:36 +0200 |
---|---|---|
committer | Anthony Liguori | 2012-04-10 15:17:36 +0200 |
commit | 6da25bd5e8355230b9562417e386728c31783002 (patch) | |
tree | 5ecc4214c74891c7e417ecfe184c721f76bdf95e /hw/qdev-monitor.c | |
parent | Merge remote-tracking branch 'kwolf/for-anthony' into staging (diff) | |
parent | qapi: convert device_del (diff) | |
download | qemu-6da25bd5e8355230b9562417e386728c31783002.tar.gz qemu-6da25bd5e8355230b9562417e386728c31783002.tar.xz qemu-6da25bd5e8355230b9562417e386728c31783002.zip |
Merge remote-tracking branch 'qmp/queue/qmp' into staging
* qmp/queue/qmp:
qapi: convert device_del
qdev: qdev_unplug(): use error_set()
Diffstat (limited to 'hw/qdev-monitor.c')
-rw-r--r-- | hw/qdev-monitor.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/hw/qdev-monitor.c b/hw/qdev-monitor.c index 4783366cf4..81d654827f 100644 --- a/hw/qdev-monitor.c +++ b/hw/qdev-monitor.c @@ -19,6 +19,7 @@ #include "qdev.h" #include "monitor.h" +#include "qmp-commands.h" /* * Aliases were a bad idea from the start. Let's keep them @@ -570,17 +571,17 @@ int do_device_add(Monitor *mon, const QDict *qdict, QObject **ret_data) return 0; } -int do_device_del(Monitor *mon, const QDict *qdict, QObject **ret_data) +void qmp_device_del(const char *id, Error **errp) { - const char *id = qdict_get_str(qdict, "id"); DeviceState *dev; dev = qdev_find_recursive(sysbus_get_default(), id); if (NULL == dev) { - qerror_report(QERR_DEVICE_NOT_FOUND, id); - return -1; + error_set(errp, QERR_DEVICE_NOT_FOUND, id); + return; } - return qdev_unplug(dev); + + qdev_unplug(dev, errp); } void qdev_machine_init(void) |