summaryrefslogtreecommitdiffstats
path: root/hw/misc/auxbus.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/misc/auxbus.c')
-rw-r--r--hw/misc/auxbus.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/hw/misc/auxbus.c b/hw/misc/auxbus.c
index 06aabf20c5..da361baa32 100644
--- a/hw/misc/auxbus.c
+++ b/hw/misc/auxbus.c
@@ -62,7 +62,7 @@ static void aux_bus_class_init(ObjectClass *klass, void *data)
k->print_dev = aux_slave_dev_print;
}
-AUXBus *aux_init_bus(DeviceState *parent, const char *name)
+AUXBus *aux_bus_init(DeviceState *parent, const char *name)
{
AUXBus *bus;
Object *auxtoi2c;
@@ -70,7 +70,6 @@ AUXBus *aux_init_bus(DeviceState *parent, const char *name)
bus = AUX_BUS(qbus_create(TYPE_AUX_BUS, parent, name));
auxtoi2c = object_new_with_props(TYPE_AUXTOI2C, OBJECT(bus), "i2c",
&error_abort, NULL);
- qdev_set_parent_bus(DEVICE(auxtoi2c), BUS(bus));
bus->bridge = AUXTOI2C(auxtoi2c);
@@ -81,6 +80,11 @@ AUXBus *aux_init_bus(DeviceState *parent, const char *name)
return bus;
}
+void aux_bus_realize(AUXBus *bus)
+{
+ qdev_realize(DEVICE(bus->bridge), BUS(bus), &error_fatal);
+}
+
void aux_map_slave(AUXSlave *aux_dev, hwaddr addr)
{
DeviceState *dev = DEVICE(aux_dev);
@@ -225,7 +229,7 @@ static void aux_bridge_class_init(ObjectClass *oc, void *data)
DeviceClass *dc = DEVICE_CLASS(oc);
/* This device is private and is created only once for each
- * aux-bus in aux_init_bus(..). So don't allow the user to add one.
+ * aux-bus in aux_bus_init(..). So don't allow the user to add one.
*/
dc->user_creatable = false;
}
@@ -244,7 +248,7 @@ static inline I2CBus *aux_bridge_get_i2c_bus(AUXTOI2CState *bridge)
static const TypeInfo aux_to_i2c_type_info = {
.name = TYPE_AUXTOI2C,
- .parent = TYPE_DEVICE,
+ .parent = TYPE_AUX_SLAVE,
.class_init = aux_bridge_class_init,
.instance_size = sizeof(AUXTOI2CState),
.instance_init = aux_bridge_init
@@ -269,16 +273,6 @@ static void aux_slave_dev_print(Monitor *mon, DeviceState *dev, int indent)
memory_region_size(s->mmio));
}
-DeviceState *aux_create_slave(AUXBus *bus, const char *type)
-{
- DeviceState *dev;
-
- dev = DEVICE(object_new(type));
- assert(dev);
- qdev_set_parent_bus(dev, &bus->qbus);
- return dev;
-}
-
void aux_init_mmio(AUXSlave *aux_slave, MemoryRegion *mmio)
{
assert(!aux_slave->mmio);