[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH RFC 42/48] error: Convert do_device_add() to QError
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH RFC 42/48] error: Convert do_device_add() to QError |
Date: |
Wed, 24 Feb 2010 18:55:54 +0100 |
Conversion to QObject is still missing.
Signed-off-by: Markus Armbruster <address@hidden>
---
hw/qdev.c | 19 +++++++++----------
1 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/hw/qdev.c b/hw/qdev.c
index 4e348fd..a028e9c 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) {
- qemu_error("-device: no driver specified");
+ qemu_error_new(QERR_MISSING_PARAMETER, "driver");
return NULL;
}
/* find driver */
info = qdev_find_info(NULL, driver);
if (!info || info->no_user) {
- qemu_error("Device \"%s\" not found. Try -device '?' for a list.",
- driver);
+ qemu_error_new(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) {
- qemu_error("Device '%s' can't go on a %s bus",
- driver, bus->info->name);
+ qemu_error_new(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) {
- qemu_error("Did not find %s bus for %s",
- info->bus_info->name, info->name);
+ qemu_error_new(QERR_NO_BUS_FOR_DEVICE,
+ info->name, info->bus_info->name);
return NULL;
}
}
if (qdev_hotplug && !bus->allow_hotplug) {
- qemu_error("Bus %s does not support hotplugging",
- bus->name);
+ qemu_error_new(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) {
- qemu_error("Error initializing device %s", driver);
+ qemu_error_new(QERR_DEVICE_INIT_FAILED, driver);
return NULL;
}
qdev->opts = opts;
--
1.6.6
- [Qemu-devel] [PATCH RFC 24/48] qdev: Hide "no_user" devices from users, (continued)
- [Qemu-devel] [PATCH RFC 24/48] qdev: Hide "no_user" devices from users, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 44/48] qemu-option: Move the implied first name into QemuOptsList, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 25/48] qdev: Hide "ptr" properties from users, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 46/48] monitor: New argument type 'O', Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 43/48] qemu-option: Functions to convert to/from QDict., Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 30/48] qdev: Relax parsing of bus option, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 13/48] error: Make qemu_error() add a newline, strip it from arguments, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 26/48] error: Polish human-readable error descriptions, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 42/48] error: Convert do_device_add() to QError,
Markus Armbruster <=
- [Qemu-devel] [PATCH RFC 48/48] monitor: convert do_device_add() to QObject, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 18/48] error: Include the program name in error messages to stderr, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 35/48] monitor: New in_qmp_mon(), Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 38/48] error: New QERR_BUS_NO_HOTPLUG, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 11/48] error: Move qemu_error & friends into their own header, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 09/48] block: Simplify usb_msd_initfn() test for "can read bdrv key", Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 06/48] pc: Factor common code out of pc_boot_set() and cmos_init(), Markus Armbruster, 2010/02/24