auxbus: New aux_bus_realize(), pairing with aux_bus_init()

aux_bus_init() encapsulates the creation of an aux-bus and its
aux-to-i2c-bridge device.

Create aux_bus_realize() to similarly encapsulate their realization.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200610053247.1583243-33-armbru@redhat.com>
This commit is contained in:
Markus Armbruster 2020-06-10 07:32:21 +02:00
parent dbe4070e59
commit b7a1b5483e
3 changed files with 13 additions and 1 deletions

View File

@ -1266,7 +1266,7 @@ static void xlnx_dp_realize(DeviceState *dev, Error **errp)
DisplaySurface *surface;
struct audsettings as;
qdev_init_nofail(DEVICE(s->aux_bus->bridge));
aux_bus_realize(s->aux_bus);
qdev_init_nofail(DEVICE(s->dpcd));
aux_map_slave(AUX_SLAVE(s->dpcd), 0x0000);

View File

@ -81,6 +81,11 @@ AUXBus *aux_bus_init(DeviceState *parent, const char *name)
return bus;
}
void aux_bus_realize(AUXBus *bus)
{
qdev_init_nofail(DEVICE(bus->bridge));
}
void aux_map_slave(AUXSlave *aux_dev, hwaddr addr)
{
DeviceState *dev = DEVICE(aux_dev);

View File

@ -93,6 +93,13 @@ struct AUXSlave {
*/
AUXBus *aux_bus_init(DeviceState *parent, const char *name);
/**
* aux_bus_realize: Realize an AUX bus.
*
* @bus: The AUX bus.
*/
void aux_bus_realize(AUXBus *bus);
/*
* aux_request: Make a request on the bus.
*