[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 4/7] qdev: add hotpluggable to DeviceState
From: |
Gerd Hoffmann |
Subject: |
Re: [Qemu-devel] [PATCH v4 4/7] qdev: add hotpluggable to DeviceState |
Date: |
Thu, 22 Feb 2018 16:37:40 +0100 |
User-agent: |
NeoMutt/20171215 |
On Mon, Feb 19, 2018 at 12:14:55PM +0100, Gerd Hoffmann wrote:
> vfio display support wants disable hotplug for certain devices, because
> qemu doesn't support hotplugging display devices and qemu consoles.
>
> Add a hotpluggable bool to DeviceState, initialize it from
> DeviceClass->hotpluggable, update device_get_hotpluggable accordingly.
>
> Devices can flip the new variable from true to false if needed.
Alex wants an ack for this one. Who maintains it these days?
MAINTAINERS doesn't list qdev. For QOM which is closest probably
Andreas Färber is listed. Havn't seen him on the list for a while
though.
Ok, lets try some usual suspects...
Markus? Eric? Paolo? Peter? Any comments on this one?
thanks,
Gerd
> Signed-off-by: Gerd Hoffmann <address@hidden>
> ---
> include/hw/qdev-core.h | 1 +
> hw/core/qdev.c | 5 +++--
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
> index fc9d617a76..37d86f26e5 100644
> --- a/include/hw/qdev-core.h
> +++ b/include/hw/qdev-core.h
> @@ -154,6 +154,7 @@ struct DeviceState {
> const char *id;
> char *canonical_path;
> bool realized;
> + bool hotpluggable;
> bool pending_deleted_event;
> QemuOpts *opts;
> int hotplugged;
> diff --git a/hw/core/qdev.c b/hw/core/qdev.c
> index 7ed1f431f0..89e03c7b47 100644
> --- a/hw/core/qdev.c
> +++ b/hw/core/qdev.c
> @@ -946,8 +946,8 @@ static bool device_get_hotpluggable(Object *obj, Error
> **errp)
> DeviceClass *dc = DEVICE_GET_CLASS(obj);
> DeviceState *dev = DEVICE(obj);
>
> - return dc->hotpluggable && (dev->parent_bus == NULL ||
> - qbus_is_hotpluggable(dev->parent_bus));
> + return dc->hotpluggable && dev->hotpluggable &&
> + (dev->parent_bus == NULL || qbus_is_hotpluggable(dev->parent_bus));
> }
>
> static bool device_get_hotplugged(Object *obj, Error **err)
> @@ -988,6 +988,7 @@ static void device_initfn(Object *obj)
> class = object_class_get_parent(class);
> } while (class != object_class_by_name(TYPE_DEVICE));
>
> + dev->hotpluggable = DEVICE_CLASS(class)->hotpluggable;
> object_property_add_link(OBJECT(dev), "parent_bus", TYPE_BUS,
> (Object **)&dev->parent_bus, NULL, 0,
> &error_abort);
> --
> 2.9.3
>
- [Qemu-devel] [PATCH v4 0/7] vfio: add display support, Gerd Hoffmann, 2018/02/19
- [Qemu-devel] [PATCH v4 5/7] vfio/common: cleanup in vfio_region_finalize, Gerd Hoffmann, 2018/02/19
- [Qemu-devel] [PATCH v4 2/7] standard-headers: add drm/drm_fourcc.h, Gerd Hoffmann, 2018/02/19
- [Qemu-devel] [PATCH v4 3/7] ui/pixman: add qemu_drm_format_to_pixman(), Gerd Hoffmann, 2018/02/19
- [Qemu-devel] [PATCH v4 6/7] vfio/display: core & wireup, Gerd Hoffmann, 2018/02/19
- [Qemu-devel] [PATCH v4 7/7] vfio/display: adding region support, Gerd Hoffmann, 2018/02/19
- [Qemu-devel] [PATCH v4 1/7] linux-headers: update to 4.16-rc1, Gerd Hoffmann, 2018/02/19
- [Qemu-devel] [PATCH v4 4/7] qdev: add hotpluggable to DeviceState, Gerd Hoffmann, 2018/02/19
- Re: [Qemu-devel] [PATCH v4 4/7] qdev: add hotpluggable to DeviceState,
Gerd Hoffmann <=
- Re: [Qemu-devel] [PATCH v4 4/7] qdev: add hotpluggable to DeviceState, Peter Maydell, 2018/02/22
- Re: [Qemu-devel] [PATCH v4 4/7] qdev: add hotpluggable to DeviceState, Alex Williamson, 2018/02/22
- Re: [Qemu-devel] [PATCH v4 4/7] qdev: add hotpluggable to DeviceState, Peter Maydell, 2018/02/22
- Re: [Qemu-devel] [PATCH v4 4/7] qdev: add hotpluggable to DeviceState, Zhenyu Wang, 2018/02/22
- Re: [Qemu-devel] [PATCH v4 4/7] qdev: add hotpluggable to DeviceState, Gerd Hoffmann, 2018/02/23
- Re: [Qemu-devel] [PATCH v4 4/7] qdev: add hotpluggable to DeviceState, Alex Williamson, 2018/02/23
- Re: [Qemu-devel] [PATCH v4 4/7] qdev: add hotpluggable to DeviceState, Gerd Hoffmann, 2018/02/26
Re: [Qemu-devel] [PATCH v4 0/7] vfio: add display support, Alex Williamson, 2018/02/19