aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2010-02-19 14:17:34 +0100
committerMarkus Armbruster <armbru@redhat.com>2010-03-16 17:45:34 +0100
commit0204276bc9108d6a927f4267b87338950a538671 (patch)
tree4eb5102cb4c759e4786c6830a418631f81b76f87 /hw
parent3801cf8ae58726b89a37f4594b7c9095e1050501 (diff)
error: Convert do_device_add() to QError
Conversion to QObject is still missing.
Diffstat (limited to 'hw')
-rw-r--r--hw/qdev.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/hw/qdev.c b/hw/qdev.c
index 43dff041be..5d0990ddd9 100644
--- a/hw/qdev.c
+++ b/hw/qdev.c
@@ -200,15 +200,15 @@ DeviceState *qdev_device_add(QemuOpts *opts)
driver = qemu_opt_get(opts, "driver");
if (!driver) {
- error_report("-device: no driver specified");
+ qerror_report(QERR_MISSING_PARAMETER, "driver");
return NULL;
}
/* find driver */
info = qdev_find_info(NULL, driver);
if (!info || info->no_user) {
- error_report("Device \"%s\" not found. Try -device '?' for a list.",
- driver);
+ qerror_report(QERR_INVALID_PARAMETER, "driver");
+ error_printf_unless_qmp("Try with argument '?' for a list.\n");
return NULL;
}
@@ -220,21 +220,20 @@ DeviceState *qdev_device_add(QemuOpts *opts)
return NULL;
}
if (bus->info != info->bus_info) {
- error_report("Device '%s' can't go on a %s bus",
- driver, bus->info->name);
+ qerror_report(QERR_BAD_BUS_FOR_DEVICE,
+ driver, bus->info->name);
return NULL;
}
} else {
bus = qbus_find_recursive(main_system_bus, NULL, info->bus_info);
if (!bus) {
- error_report("Did not find %s bus for %s",
- info->bus_info->name, info->name);
+ qerror_report(QERR_NO_BUS_FOR_DEVICE,
+ info->name, info->bus_info->name);
return NULL;
}
}
if (qdev_hotplug && !bus->allow_hotplug) {
- error_report("Bus %s does not support hotplugging",
- bus->name);
+ qerror_report(QERR_BUS_NO_HOTPLUG, bus->name);
return NULL;
}
@@ -249,7 +248,7 @@ DeviceState *qdev_device_add(QemuOpts *opts)
return NULL;
}
if (qdev_init(qdev) < 0) {
- error_report("Error initializing device %s", driver);
+ qerror_report(QERR_DEVICE_INIT_FAILED, driver);
return NULL;
}
qdev->opts = opts;