[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH RFCv2 3/9] qdev: Provide qdev_get_bus_hotplug_ha
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH RFCv2 3/9] qdev: Provide qdev_get_bus_hotplug_handler() |
Date: |
Mon, 28 Jan 2019 15:01:41 +0100 |
On Wed, 23 Jan 2019 20:55:21 +0100
David Hildenbrand <address@hidden> wrote:
> Let's use a wrapper instead of looking it up manually. This function can
> than be reused when we explicitly want to have the bus hotplug handler
> (e.g. when the bus hotplug handler was overwritten by the machine
> hotplug handler).
>
> Reviewed-by: Igor Mammedov <address@hidden>
> Reviewed-by: Igor Mammedov <address@hidden>
maybe drop the 2nd one?
> Signed-off-by: David Hildenbrand <address@hidden>
> ---
> hw/core/qdev.c | 10 +++++++++-
> include/hw/qdev-core.h | 1 +
> 2 files changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/hw/core/qdev.c b/hw/core/qdev.c
> index 7ad45c0bd6..e2207d77a4 100644
> --- a/hw/core/qdev.c
> +++ b/hw/core/qdev.c
> @@ -233,12 +233,20 @@ HotplugHandler
> *qdev_get_machine_hotplug_handler(DeviceState *dev)
> return NULL;
> }
>
> +HotplugHandler *qdev_get_bus_hotplug_handler(DeviceState *dev)
> +{
> + if (dev->parent_bus) {
> + return dev->parent_bus->hotplug_handler;
> + }
> + return NULL;
> +}
> +
> HotplugHandler *qdev_get_hotplug_handler(DeviceState *dev)
> {
> HotplugHandler *hotplug_ctrl = qdev_get_machine_hotplug_handler(dev);
>
> if (hotplug_ctrl == NULL && dev->parent_bus) {
> - hotplug_ctrl = dev->parent_bus->hotplug_handler;
> + hotplug_ctrl = qdev_get_bus_hotplug_handler(dev);
> }
> return hotplug_ctrl;
> }
> diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
> index 9081fb0030..cb0ec63c2d 100644
> --- a/include/hw/qdev-core.h
> +++ b/include/hw/qdev-core.h
> @@ -280,6 +280,7 @@ DeviceState *qdev_try_create(BusState *bus, const char
> *name);
> void qdev_init_nofail(DeviceState *dev);
> void qdev_set_legacy_instance_id(DeviceState *dev, int alias_id,
> int required_for_version);
> +HotplugHandler *qdev_get_bus_hotplug_handler(DeviceState *dev);
> HotplugHandler *qdev_get_machine_hotplug_handler(DeviceState *dev);
> /**
> * qdev_get_hotplug_handler: Get handler responsible for device wiring
- [Qemu-devel] [PATCH RFCv2 7/9] hmp: Handle virtio-pmem when printing memory device infos, (continued)
- [Qemu-devel] [PATCH RFCv2 7/9] hmp: Handle virtio-pmem when printing memory device infos, David Hildenbrand, 2019/01/23
- [Qemu-devel] [PATCH RFCv2 4/9] virtio-pmem: Prototype, David Hildenbrand, 2019/01/23
- [Qemu-devel] [PATCH RFCv2 6/9] virtio-pci: Proxy for virtio-pmem, David Hildenbrand, 2019/01/23
- [Qemu-devel] [PATCH RFCv2 5/9] virtio-pci: Allow to specify additional interfaces for the base type, David Hildenbrand, 2019/01/23
- [Qemu-devel] [PATCH RFCv2 2/9] qdev: Let machine hotplug handler to override bus hotplug handler, David Hildenbrand, 2019/01/23
- [Qemu-devel] [PATCH RFCv2 1/9] qdev: Let the hotplug_handler_unplug() caller delete the device, David Hildenbrand, 2019/01/23
- [Qemu-devel] [PATCH RFCv2 3/9] qdev: Provide qdev_get_bus_hotplug_handler(), David Hildenbrand, 2019/01/23
- Re: [Qemu-devel] [PATCH RFCv2 3/9] qdev: Provide qdev_get_bus_hotplug_handler(),
Igor Mammedov <=
- Re: [Qemu-devel] [PATCH RFCv2 0/9] qdev: Hotplug handler chaining + virtio-pmem, Igor Mammedov, 2019/01/28