qdev: Provide qdev_get_bus_hotplug_handler()
Let's use a wrapper instead of looking it up manually. This function can than be reused when we explicitly want to have the bus hotplug handler (e.g. when the bus hotplug handler was overwritten by the machine hotplug handler). Reviewed-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20190228122849.4296-4-david@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
parent
17cc0128da
commit
14405c274e
@ -236,12 +236,20 @@ HotplugHandler *qdev_get_machine_hotplug_handler(DeviceState *dev)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
HotplugHandler *qdev_get_bus_hotplug_handler(DeviceState *dev)
|
||||
{
|
||||
if (dev->parent_bus) {
|
||||
return dev->parent_bus->hotplug_handler;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
HotplugHandler *qdev_get_hotplug_handler(DeviceState *dev)
|
||||
{
|
||||
HotplugHandler *hotplug_ctrl = qdev_get_machine_hotplug_handler(dev);
|
||||
|
||||
if (hotplug_ctrl == NULL && dev->parent_bus) {
|
||||
hotplug_ctrl = dev->parent_bus->hotplug_handler;
|
||||
hotplug_ctrl = qdev_get_bus_hotplug_handler(dev);
|
||||
}
|
||||
return hotplug_ctrl;
|
||||
}
|
||||
|
@ -281,6 +281,7 @@ DeviceState *qdev_try_create(BusState *bus, const char *name);
|
||||
void qdev_init_nofail(DeviceState *dev);
|
||||
void qdev_set_legacy_instance_id(DeviceState *dev, int alias_id,
|
||||
int required_for_version);
|
||||
HotplugHandler *qdev_get_bus_hotplug_handler(DeviceState *dev);
|
||||
HotplugHandler *qdev_get_machine_hotplug_handler(DeviceState *dev);
|
||||
/**
|
||||
* qdev_get_hotplug_handler: Get handler responsible for device wiring
|
||||
|
Loading…
Reference in New Issue
Block a user