summary refs log tree commit diff stats
path: root/hw/core/hotplug.c
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2018-07-16 09:37:31 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2018-07-16 16:58:16 +0200
commit25e8978817a54745c44d956d8303e6be6f2c4047 (patch)
tree543b47fdca6c37c956a0ebdb022be981929c5f2b /hw/core/hotplug.c
parentf3575af130c700cea060b51a89008a76dae22259 (diff)
downloadfocaccia-qemu-25e8978817a54745c44d956d8303e6be6f2c4047.tar.gz
focaccia-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)