mbox series

[v5,0/6] hw/core: Unify hotplug decision logic

Message ID 20250110091908.64454-1-philmd@linaro.org
Headers show
Series hw/core: Unify hotplug decision logic | expand

Message

Philippe Mathieu-Daudé Jan. 10, 2025, 9:19 a.m. UTC
Akihiko's v4 patch was doing too many things at once to
my taste, so I split it to follow dumbly each steps.
https://lore.kernel.org/qemu-devel/20250104-bus-v4-1-244cf1c6e2aa@daynix.com/

Akihiko Odaki (6):
  hw/qdev: Pass bus argument to qdev_hotplug_allowed()
  hw/qdev: Factor qdev_hotunplug_allowed() out
  hw/qdev: Introduce qdev_hotplug_unplug_allowed_common()
  hw/qdev: Check DevClass::hotpluggable in hotplug_unplug_allowed_common
  hw/qdev: Check qbus_is_hotpluggable in hotplug_unplug_allowed_common
  hw/qdev: Check machine_hotplug_handler in
    hotplug_unplug_allowed_common

 include/hw/qdev-core.h |  3 ++-
 hw/core/qdev-hotplug.c | 42 +++++++++++++++++++++++++++++++++++++++++-
 system/qdev-monitor.c  | 37 +++++--------------------------------
 3 files changed, 48 insertions(+), 34 deletions(-)

Comments

Philippe Mathieu-Daudé Jan. 10, 2025, 1:18 p.m. UTC | #1
On 10/1/25 10:19, Philippe Mathieu-Daudé wrote:
> Akihiko's v4 patch was doing too many things at once to
> my taste, so I split it to follow dumbly each steps.
> https://lore.kernel.org/qemu-devel/20250104-bus-v4-1-244cf1c6e2aa@daynix.com/
> 
> Akihiko Odaki (6):
>    hw/qdev: Pass bus argument to qdev_hotplug_allowed()
>    hw/qdev: Factor qdev_hotunplug_allowed() out
>    hw/qdev: Introduce qdev_hotplug_unplug_allowed_common()
>    hw/qdev: Check DevClass::hotpluggable in hotplug_unplug_allowed_common
>    hw/qdev: Check qbus_is_hotpluggable in hotplug_unplug_allowed_common
>    hw/qdev: Check machine_hotplug_handler in
>      hotplug_unplug_allowed_common

Akihiko, are you OK with this split?
Igor Mammedov Jan. 13, 2025, 12:59 p.m. UTC | #2
On Fri, 10 Jan 2025 10:19:02 +0100
Philippe Mathieu-Daudé <philmd@linaro.org> wrote:

> Akihiko's v4 patch was doing too many things at once to
> my taste, so I split it to follow dumbly each steps.
> https://lore.kernel.org/qemu-devel/20250104-bus-v4-1-244cf1c6e2aa@daynix.com/

refactoring in some cases would lead to device being created
and then deleted, where as before it we were bailing out earlier
without creating a device.
I guess there is no much harm in that overhead and we get
consolidated handling instead of scattered checks.

Just make checkpatch happy, with that
Reviewed-by: Igor Mammedov <imammedo@redhat.com>

> 
> Akihiko Odaki (6):
>   hw/qdev: Pass bus argument to qdev_hotplug_allowed()
>   hw/qdev: Factor qdev_hotunplug_allowed() out
>   hw/qdev: Introduce qdev_hotplug_unplug_allowed_common()
>   hw/qdev: Check DevClass::hotpluggable in hotplug_unplug_allowed_common
>   hw/qdev: Check qbus_is_hotpluggable in hotplug_unplug_allowed_common
>   hw/qdev: Check machine_hotplug_handler in
>     hotplug_unplug_allowed_common
> 
>  include/hw/qdev-core.h |  3 ++-
>  hw/core/qdev-hotplug.c | 42 +++++++++++++++++++++++++++++++++++++++++-
>  system/qdev-monitor.c  | 37 +++++--------------------------------
>  3 files changed, 48 insertions(+), 34 deletions(-)
>
Philippe Mathieu-Daudé Jan. 13, 2025, 5:30 p.m. UTC | #3
On 10/1/25 10:19, Philippe Mathieu-Daudé wrote:

> Akihiko Odaki (6):
>    hw/qdev: Pass bus argument to qdev_hotplug_allowed()
>    hw/qdev: Factor qdev_hotunplug_allowed() out
>    hw/qdev: Introduce qdev_hotplug_unplug_allowed_common()
>    hw/qdev: Check DevClass::hotpluggable in hotplug_unplug_allowed_common
>    hw/qdev: Check qbus_is_hotpluggable in hotplug_unplug_allowed_common
>    hw/qdev: Check machine_hotplug_handler in
>      hotplug_unplug_allowed_common

Series queued.