[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 18/22] qdev: Connect busses with their parent device
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH 18/22] qdev: Connect busses with their parent devices |
Date: |
Mon, 18 Jun 2012 15:59:10 +0200 |
From: Anthony Liguori <address@hidden>
This makes SysBus part of the root hierarchy and all busses children of
their respective parent DeviceState.
Signed-off-by: Anthony Liguori <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
---
hw/qdev.c | 4 ++++
hw/sysbus.c | 3 +++
2 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/hw/qdev.c b/hw/qdev.c
index 63012b5..dc46e7b 100644
--- a/hw/qdev.c
+++ b/hw/qdev.c
@@ -404,6 +404,7 @@ static void do_qbus_create_inplace(BusState *bus, const
char *typename,
if (parent) {
QLIST_INSERT_HEAD(&parent->child_bus, bus, sibling);
parent->num_child_bus++;
+ object_property_add_child(OBJECT(parent), bus->name, OBJECT(bus),
NULL);
} else if (bus != sysbus_get_default()) {
/* TODO: once all bus devices are qdevified,
only reset handler for main_system_bus should be registered here. */
@@ -656,6 +657,9 @@ static void device_initfn(Object *obj)
class = object_class_get_parent(class);
} while (class != object_class_by_name(TYPE_DEVICE));
qdev_prop_set_globals(dev);
+
+ object_property_add_link(OBJECT(dev), "parent_bus", TYPE_BUS,
+ (Object **)&dev->parent_bus, NULL);
}
/* Unlink device from bus and free the structure. */
diff --git a/hw/sysbus.c b/hw/sysbus.c
index 2347f51..9d8b1ea 100644
--- a/hw/sysbus.c
+++ b/hw/sysbus.c
@@ -275,6 +275,9 @@ static void main_system_bus_create(void)
qbus_create_inplace(main_system_bus, TYPE_SYSTEM_BUS, NULL,
"main-system-bus");
main_system_bus->glib_allocated = true;
+ object_property_add_child(container_get(qdev_get_machine(),
+ "/unattached"),
+ "sysbus", OBJECT(main_system_bus), NULL);
}
BusState *sysbus_get_default(void)
--
1.7.7
- [Qemu-devel] [PULL] qom-next queue, second batch: QBus, API additions and cleanups, Andreas Färber, 2012/06/18
- [Qemu-devel] [PATCH 05/22] qom: Make Object a type, Andreas Färber, 2012/06/18
- [Qemu-devel] [PATCH 01/22] qom: Add object_class_get_parent(), Andreas Färber, 2012/06/18
- [Qemu-devel] [PATCH 09/22] arm_l2x0: Rename "type" property to "cache-type", Andreas Färber, 2012/06/18
- [Qemu-devel] [PATCH 03/22] qom: Add object_child_foreach(), Andreas Färber, 2012/06/18
- [Qemu-devel] [PATCH 16/22] qdev: Move SysBus initialization to sysbus.c, Andreas Färber, 2012/06/18
- [Qemu-devel] [PATCH 20/22] qbus: Initialize in standard way, Andreas Färber, 2012/06/18
- [Qemu-devel] [PATCH 07/22] qom: Assert that public types have a non-NULL parent field, Andreas Färber, 2012/06/18
- [Qemu-devel] [PATCH 18/22] qdev: Connect busses with their parent devices,
Andreas Färber <=
- [Qemu-devel] [PATCH 04/22] qom: Add class_base_init, Andreas Färber, 2012/06/18
- [Qemu-devel] [PATCH 08/22] m48t59: Rename "type" property to "model", Andreas Färber, 2012/06/18
- [Qemu-devel] [PATCH 22/22] qom: Push error reporting to object_property_find(), Andreas Färber, 2012/06/18
- [Qemu-devel] [PATCH 10/22] qdev: Push "type" property up to Object, Andreas Färber, 2012/06/18
- [Qemu-devel] [PATCH 06/22] qom: Drop type_register_static_alias() macro, Andreas Färber, 2012/06/18
- [Qemu-devel] [PATCH 02/22] qom: Introduce object_property_is_{child, link}(), Andreas Färber, 2012/06/18
- [Qemu-devel] [PATCH 11/22] qdev: Move bus properties to a separate global, Andreas Färber, 2012/06/18
- [Qemu-devel] [PATCH 12/22] qdev: Move bus properties to abstract superclasses, Andreas Färber, 2012/06/18
- [Qemu-devel] [PATCH 19/22] qbus: Make child devices links, Andreas Färber, 2012/06/18
- [Qemu-devel] [PATCH 13/22] qdev: Clean up global properties, Andreas Färber, 2012/06/18