summary refs log tree commit diff stats
path: root/hw/core/hotplug.c
diff options
context:
space:
mode:
authorIgor Mammedov <imammedo@redhat.com>2016-05-12 09:18:15 +0530
committerDavid Gibson <david@gibson.dropbear.id.au>2016-06-17 16:33:48 +1000
commit41346263c4039fd2edca61c031c9396577693036 (patch)
treee20fa96388bb62c967490408973ccb7e58e51b21 /hw/core/hotplug.c
parent2e11b15dff0bed8f29e844940f127e6e89cd766c (diff)
downloadfocaccia-qemu-41346263c4039fd2edca61c031c9396577693036.tar.gz
focaccia-qemu-41346263c4039fd2edca61c031c9396577693036.zip
qdev: hotplug: Introduce HotplugHandler.pre_plug() callback
pre_plug callback is to be called before device.realize() is executed.
This would allow to check/set device's properties from HotplugHandler.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'hw/core/hotplug.c')
-rw-r--r--hw/core/hotplug.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/hw/core/hotplug.c b/hw/core/hotplug.c
index 645cfca1b9..17ac986685 100644
--- a/hw/core/hotplug.c
+++ b/hw/core/hotplug.c
@@ -13,6 +13,17 @@
 #include "hw/hotplug.h"
 #include "qemu/module.h"
 
+void hotplug_handler_pre_plug(HotplugHandler *plug_handler,
+                              DeviceState *plugged_dev,
+                              Error **errp)
+{
+    HotplugHandlerClass *hdc = HOTPLUG_HANDLER_GET_CLASS(plug_handler);
+
+    if (hdc->pre_plug) {
+        hdc->pre_plug(plug_handler, plugged_dev, errp);
+    }
+}
+
 void hotplug_handler_plug(HotplugHandler *plug_handler,
                           DeviceState *plugged_dev,
                           Error **errp)