summaryrefslogtreecommitdiffstats
path: root/hw/core/hotplug.c
diff options
context:
space:
mode:
authorStefan Hajnoczi2018-07-16 10:37:31 +0200
committerPaolo Bonzini2018-07-16 16:58:16 +0200
commit25e8978817a54745c44d956d8303e6be6f2c4047 (patch)
tree543b47fdca6c37c956a0ebdb022be981929c5f2b /hw/core/hotplug.c
parenthw/char/serial: retry write if EAGAIN (diff)
downloadqemu-25e8978817a54745c44d956d8303e6be6f2c4047.tar.gz
qemu-25e8978817a54745c44d956d8303e6be6f2c4047.tar.xz
qemu-25e8978817a54745c44d956d8303e6be6f2c4047.zip
qdev: add HotplugHandler->post_plug() callback
The ->pre_plug() callback is invoked before the device is realized. The ->plug() callback is invoked when the device is being realized but before it is reset. This patch adds a ->post_plug() callback which is invoked after the device has been reset. This callback is needed by HotplugHandlers that need to wait until after ->reset(). Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Message-Id: <20180716083732.3347-2-stefanha@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/core/hotplug.c')
-rw-r--r--hw/core/hotplug.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/hw/core/hotplug.c b/hw/core/hotplug.c
index 17ac986685..2253072d0e 100644
--- a/hw/core/hotplug.c
+++ b/hw/core/hotplug.c
@@ -35,6 +35,16 @@ void hotplug_handler_plug(HotplugHandler *plug_handler,
}
}
+void hotplug_handler_post_plug(HotplugHandler *plug_handler,
+ DeviceState *plugged_dev)
+{
+ HotplugHandlerClass *hdc = HOTPLUG_HANDLER_GET_CLASS(plug_handler);
+
+ if (hdc->post_plug) {
+ hdc->post_plug(plug_handler, plugged_dev);
+ }
+}
+
void hotplug_handler_unplug_request(HotplugHandler *plug_handler,
DeviceState *plugged_dev,
Error **errp)