[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Qemu-ppc] [PATCH RFC 03/10] qdev: Provide qdev_get_bus
From: |
Murilo Opsfelder Araujo |
Subject: |
Re: [Qemu-devel] [Qemu-ppc] [PATCH RFC 03/10] qdev: Provide qdev_get_bus_hotplug_handler() |
Date: |
Wed, 16 Jan 2019 16:41:22 -0200 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
Hi, David.
On Wed, Jan 16, 2019 at 12:35:16PM +0100, David Hildenbrand 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).
>
> 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) {
Perhaps we don't need to check dev->parent_bus here since
qdev_get_bus_hotplug_handler() is already checking it.
> - 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 0632057fd6..893acc19b9 100644
> --- a/include/hw/qdev-core.h
> +++ b/include/hw/qdev-core.h
> @@ -277,6 +277,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
> --
> 2.17.2
>
>
--
Murilo
- [Qemu-devel] [PATCH RFC 00/10] qdev: Hotplug handler chaining + virtio-pmem, David Hildenbrand, 2019/01/16
- [Qemu-devel] [PATCH RFC 05/10] virtio-pci: Allow to specify additional interfaces for the base type, David Hildenbrand, 2019/01/16
- [Qemu-devel] [PATCH RFC 02/10] qdev: Let machine hotplug handler to override bus hotplug handler, David Hildenbrand, 2019/01/16
- [Qemu-devel] [PATCH RFC 03/10] qdev: Provide qdev_get_bus_hotplug_handler(), David Hildenbrand, 2019/01/16
- [Qemu-devel] [PATCH RFC 10/10] pc: Enable support for virtio-pmem, David Hildenbrand, 2019/01/16
- [Qemu-devel] [PATCH RFC 07/10] hmp: Handle virtio-pmem when printing memory device infos, David Hildenbrand, 2019/01/16
- [Qemu-devel] [PATCH RFC 06/10] virtio-pci: Proxy for virtio-pmem, David Hildenbrand, 2019/01/16
- [Qemu-devel] [PATCH RFC 08/10] numa: Handle virtio-pmem in NUMA stats, David Hildenbrand, 2019/01/16
- [Qemu-devel] [PATCH RFC 04/10] virtio-pmem: Prototype, David Hildenbrand, 2019/01/16