diff options
| author | David Hildenbrand <david@redhat.com> | 2018-12-12 10:16:22 +0100 |
|---|---|---|
| committer | Michael S. Tsirkin <mst@redhat.com> | 2018-12-20 11:19:12 -0500 |
| commit | 8f560cdce42562a3c41d61c896667cf77c76d51f (patch) | |
| tree | 38b27134228c8264e5b9cd11efe939ebce0faf30 /include/hw/pci/shpc.h | |
| parent | 62b765639691de36476c471117e96184a2a3c7a6 (diff) | |
| download | focaccia-qemu-8f560cdce42562a3c41d61c896667cf77c76d51f.tar.gz focaccia-qemu-8f560cdce42562a3c41d61c896667cf77c76d51f.zip | |
pci/shpc: perform unplug via the hotplug handler
Introduce and use the "unplug" callback. This is a preparation for multi-stage hotplug handlers, whereby the bus hotplug handler is overwritten by the machine hotplug handler. This handler will then pass control to the bus hotplug handler. So to get this running cleanly, we also have to make sure to go via the hotplug handler chain when actually unplugging a device after an unplug request. Lookup the hotplug handler and call "unplug". Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: David Hildenbrand <david@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include/hw/pci/shpc.h')
| -rw-r--r-- | include/hw/pci/shpc.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/hw/pci/shpc.h b/include/hw/pci/shpc.h index 71293aca58..18f6ec1cd5 100644 --- a/include/hw/pci/shpc.h +++ b/include/hw/pci/shpc.h @@ -47,6 +47,8 @@ void shpc_cap_write_config(PCIDevice *d, uint32_t addr, uint32_t val, int len); void shpc_device_plug_cb(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp); +void shpc_device_unplug_cb(HotplugHandler *hotplug_dev, DeviceState *dev, + Error **errp); void shpc_device_unplug_request_cb(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp); |