Message ID | 20200529134523.8477-34-armbru@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | qdev: Rework how we plug into the parent bus | expand |
On 5/29/20 3:44 PM, Markus Armbruster wrote: > Convert qdev_set_parent_bus()/qdev_init_nofail() to qdev_realize(); > recent commit "qdev: New qdev_new(), qdev_realize(), etc." explains > why. > > Signed-off-by: Markus Armbruster <armbru@redhat.com> > --- > hw/display/xlnx_dp.c | 2 +- > hw/misc/auxbus.c | 4 +--- > 2 files changed, 2 insertions(+), 4 deletions(-) > > diff --git a/hw/display/xlnx_dp.c b/hw/display/xlnx_dp.c > index 900d95fc93..e6e7f0037f 100644 > --- a/hw/display/xlnx_dp.c > +++ b/hw/display/xlnx_dp.c > @@ -1266,7 +1266,7 @@ static void xlnx_dp_realize(DeviceState *dev, Error **errp) > > aux_bus_realize(s->aux_bus); > > - qdev_init_nofail(DEVICE(s->dpcd)); > + qdev_realize(DEVICE(s->dpcd), BUS(s->aux_bus), &error_fatal); > aux_map_slave(AUX_SLAVE(s->dpcd), 0x0000); > > qdev_realize_and_unref(DEVICE(s->edid), BUS(aux_get_i2c_bus(s->aux_bus)), > diff --git a/hw/misc/auxbus.c b/hw/misc/auxbus.c > index 113f4278aa..e7a5d26158 100644 > --- a/hw/misc/auxbus.c > +++ b/hw/misc/auxbus.c > @@ -70,7 +70,6 @@ AUXBus *aux_bus_init(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); > > @@ -83,7 +82,7 @@ AUXBus *aux_bus_init(DeviceState *parent, const char *name) > > void aux_bus_realize(AUXBus *bus) > { > - qdev_init_nofail(DEVICE(bus->bridge)); > + qdev_realize(DEVICE(bus->bridge), BUS(bus), &error_fatal); > } > > void aux_map_slave(AUXSlave *aux_dev, hwaddr addr) > @@ -280,7 +279,6 @@ DeviceState *aux_create_slave(AUXBus *bus, const char *type) > > dev = qdev_new(type); > assert(dev); > - qdev_set_parent_bus(dev, &bus->qbus); > return dev; > } > > This one was not obvious... Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
diff --git a/hw/display/xlnx_dp.c b/hw/display/xlnx_dp.c index 900d95fc93..e6e7f0037f 100644 --- a/hw/display/xlnx_dp.c +++ b/hw/display/xlnx_dp.c @@ -1266,7 +1266,7 @@ static void xlnx_dp_realize(DeviceState *dev, Error **errp) aux_bus_realize(s->aux_bus); - qdev_init_nofail(DEVICE(s->dpcd)); + qdev_realize(DEVICE(s->dpcd), BUS(s->aux_bus), &error_fatal); aux_map_slave(AUX_SLAVE(s->dpcd), 0x0000); qdev_realize_and_unref(DEVICE(s->edid), BUS(aux_get_i2c_bus(s->aux_bus)), diff --git a/hw/misc/auxbus.c b/hw/misc/auxbus.c index 113f4278aa..e7a5d26158 100644 --- a/hw/misc/auxbus.c +++ b/hw/misc/auxbus.c @@ -70,7 +70,6 @@ AUXBus *aux_bus_init(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); @@ -83,7 +82,7 @@ AUXBus *aux_bus_init(DeviceState *parent, const char *name) void aux_bus_realize(AUXBus *bus) { - qdev_init_nofail(DEVICE(bus->bridge)); + qdev_realize(DEVICE(bus->bridge), BUS(bus), &error_fatal); } void aux_map_slave(AUXSlave *aux_dev, hwaddr addr) @@ -280,7 +279,6 @@ DeviceState *aux_create_slave(AUXBus *bus, const char *type) dev = qdev_new(type); assert(dev); - qdev_set_parent_bus(dev, &bus->qbus); return dev; }
Convert qdev_set_parent_bus()/qdev_init_nofail() to qdev_realize(); recent commit "qdev: New qdev_new(), qdev_realize(), etc." explains why. Signed-off-by: Markus Armbruster <armbru@redhat.com> --- hw/display/xlnx_dp.c | 2 +- hw/misc/auxbus.c | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-)