[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 5/5] qdev: Provide qdev_get_bus_hotplug_handler()
From: |
Eduardo Habkost |
Subject: |
[Qemu-devel] [PULL 5/5] qdev: Provide qdev_get_bus_hotplug_handler() |
Date: |
Wed, 6 Mar 2019 15:41:01 -0300 |
From: David Hildenbrand <address@hidden>
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 <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
---
include/hw/qdev-core.h | 1 +
hw/core/qdev.c | 10 +++++++++-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
index ea4c1f60ed..17f09aac72 100644
--- a/include/hw/qdev-core.h
+++ b/include/hw/qdev-core.h
@@ -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
diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index 71c7facf60..512ce7ca7a 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -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;
}
--
2.18.0.rc1.1.g3f1ff2140
- [Qemu-devel] [PULL 0/5] Machine queue, 2019-03-06, Eduardo Habkost, 2019/03/06
- [Qemu-devel] [PULL 4/5] qdev: Let machine hotplug handler to override bus hotplug handler, Eduardo Habkost, 2019/03/06
- [Qemu-devel] [PULL 5/5] qdev: Provide qdev_get_bus_hotplug_handler(),
Eduardo Habkost <=
- [Qemu-devel] [PULL 1/5] qdev/core: fix qbus_is_full(), Eduardo Habkost, 2019/03/06
- [Qemu-devel] [PULL 3/5] qdev: Let the hotplug_handler_unplug() caller delete the device, Eduardo Habkost, 2019/03/06
- [Qemu-devel] [PULL 2/5] hostmem: fix crash when querying empty host-nodes property via QMP, Eduardo Habkost, 2019/03/06
- Re: [Qemu-devel] [PULL 0/5] Machine queue, 2019-03-06, Peter Maydell, 2019/03/06