[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH RFC 34/48] qdev: Convert qbus_find() to QError
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH RFC 34/48] qdev: Convert qbus_find() to QError |
Date: |
Wed, 24 Feb 2010 18:55:46 +0100 |
Signed-off-by: Markus Armbruster <address@hidden>
---
hw/qdev.c | 25 ++++++++++++++-----------
1 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/hw/qdev.c b/hw/qdev.c
index 6495894..1887dde 100644
--- a/hw/qdev.c
+++ b/hw/qdev.c
@@ -216,18 +216,21 @@ DeviceState *qdev_device_add(QemuOpts *opts)
path = qemu_opt_get(opts, "bus");
if (path != NULL) {
bus = qbus_find(path);
- if (bus && bus->info != info->bus_info) {
+ if (!bus) {
+ return NULL;
+ }
+ if (bus->info != info->bus_info) {
qemu_error("Device '%s' can't go on a %s bus",
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",
- path ? path : info->bus_info->name, info->name);
- return NULL;
+ if (!bus) {
+ qemu_error("Did not find %s bus for %s",
+ info->bus_info->name, info->name);
+ return NULL;
+ }
}
if (qdev_hotplug && !bus->allow_hotplug) {
qemu_error("Bus %s does not support hotplugging",
@@ -560,7 +563,7 @@ static BusState *qbus_find(const char *path)
}
bus = qbus_find_recursive(main_system_bus, elem, NULL);
if (!bus) {
- qemu_error("bus \"%s\" not found", elem);
+ qemu_error_new(QERR_BUS_NOT_FOUND, elem);
return NULL;
}
pos = len;
@@ -583,7 +586,7 @@ static BusState *qbus_find(const char *path)
pos += len;
dev = qbus_find_dev(bus, elem);
if (!dev) {
- qemu_error("device \"%s\" not found", elem);
+ qemu_error_new(QERR_DEVICE_NOT_FOUND, elem);
qbus_list_dev(bus);
return NULL;
}
@@ -597,12 +600,12 @@ static BusState *qbus_find(const char *path)
* one child bus accept it nevertheless */
switch (dev->num_child_bus) {
case 0:
- qemu_error("device has no child bus (%s)", path);
+ qemu_error_new(QERR_DEVICE_NO_BUS, elem);
return NULL;
case 1:
return QLIST_FIRST(&dev->child_bus);
default:
- qemu_error("device has multiple child busses (%s)", path);
+ qemu_error_new(QERR_DEVICE_MULTIPLE_BUSSES, elem);
qbus_list_bus(dev);
return NULL;
}
@@ -616,7 +619,7 @@ static BusState *qbus_find(const char *path)
pos += len;
bus = qbus_find_bus(dev, elem);
if (!bus) {
- qemu_error("child bus \"%s\" not found", elem);
+ qemu_error_new(QERR_BUS_NOT_FOUND, elem);
qbus_list_bus(dev);
return NULL;
}
--
1.6.6
- [Qemu-devel] [PATCH RFC 11/48] error: Move qemu_error & friends into their own header, (continued)
- [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
- [Qemu-devel] [PATCH RFC 08/48] monitor: Separate "default monitor" and "current monitor" cleanly, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 15/48] error: Don't abuse qemu_error() for non-error in qdev_device_help(), Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 05/48] pc: Fix error reporting for -boot once, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 07/48] tools: Remove unused cur_mon from qemu-tool.c, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 32/48] error: New QERR_DEVICE_MULTIPLE_BUSSES, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 34/48] qdev: Convert qbus_find() to QError,
Markus Armbruster <=
- [Qemu-devel] [PATCH RFC 33/48] error: New QERR_DEVICE_NO_BUS, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 14/48] error: Don't abuse qemu_error() for non-error in scsi_hot_add(), Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 12/48] error: New error_printf() and error_vprintf(), Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 41/48] Revert "qdev: Use QError for 'device not found' error", Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 20/48] QemuOpts: Fix qemu_config_parse() to catch file read errors, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 40/48] error: New QERR_NO_BUS_FOR_DEVICE, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 45/48] qemu-option: Rename find_list() to qemu_find_opts() & external linkage, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 37/48] error: New QERR_BAD_BUS_FOR_DEVICE, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 23/48] qdev: Factor qdev_create_from_info() out of qdev_create(), Markus Armbruster, 2010/02/24