Frees isa-bus.c from implicit ACPI dependency.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
include/hw/acpi/acpi_aml_interface.h | 3 +++
include/hw/isa/isa.h | 1 -
hw/acpi/acpi_interface.c | 10 ++++++++++
hw/i386/acpi-microvm.c | 3 ++-
hw/isa/isa-bus.c | 10 ----------
5 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/include/hw/acpi/acpi_aml_interface.h b/include/hw/acpi/acpi_aml_interface.h
index 436da069d6..11748a8866 100644
--- a/include/hw/acpi/acpi_aml_interface.h
+++ b/include/hw/acpi/acpi_aml_interface.h
@@ -3,6 +3,7 @@
#include "qom/object.h"
#include "hw/acpi/aml-build.h"
+#include "hw/qdev-core.h"
#define TYPE_ACPI_DEV_AML_IF "acpi-dev-aml-interface"
typedef struct AcpiDevAmlIfClass AcpiDevAmlIfClass;
@@ -46,4 +47,6 @@ static inline void call_dev_aml_func(DeviceState *dev, Aml *scope)
}
}
+void qbus_build_aml(BusState *bus, Aml *scope);
+
#endif
diff --git a/include/hw/isa/isa.h b/include/hw/isa/isa.h
index 6c8a8a92cb..25acd5c34c 100644
--- a/include/hw/isa/isa.h
+++ b/include/hw/isa/isa.h
@@ -86,7 +86,6 @@ bool isa_realize_and_unref(ISADevice *dev, ISABus *bus, Error **errp);
ISADevice *isa_create_simple(ISABus *bus, const char *name);
ISADevice *isa_vga_init(ISABus *bus);
-void isa_build_aml(ISABus *bus, Aml *scope);
/**
* isa_register_ioport: Install an I/O port region on the ISA bus.
diff --git a/hw/acpi/acpi_interface.c b/hw/acpi/acpi_interface.c
index c668d361f6..8637ff18fc 100644
--- a/hw/acpi/acpi_interface.c
+++ b/hw/acpi/acpi_interface.c
@@ -2,6 +2,7 @@
#include "hw/acpi/acpi_dev_interface.h"
#include "hw/acpi/acpi_aml_interface.h"
#include "qemu/module.h"
+#include "qemu/queue.h"
void acpi_send_event(DeviceState *dev, AcpiEventStatusBits event)
{
@@ -12,6 +13,15 @@ void acpi_send_event(DeviceState *dev, AcpiEventStatusBits event)
}
}
+void qbus_build_aml(BusState *bus, Aml *scope)
+{
+ BusChild *kid;
+
+ QTAILQ_FOREACH(kid, &bus->children, sibling) {
+ call_dev_aml_func(DEVICE(kid->child), scope);
+ }
+}
+
static void register_types(void)
{
static const TypeInfo acpi_dev_if_info = {
diff --git a/hw/i386/acpi-microvm.c b/hw/i386/acpi-microvm.c
index d8a444d06c..fec22d85c1 100644
--- a/hw/i386/acpi-microvm.c
+++ b/hw/i386/acpi-microvm.c
@@ -26,6 +26,7 @@
#include "exec/memory.h"
#include "hw/acpi/acpi.h"
+#include "hw/acpi/acpi_aml_interface.h"
#include "hw/acpi/aml-build.h"
#include "hw/acpi/bios-linker-loader.h"
#include "hw/acpi/generic_event_device.h"
@@ -129,7 +130,7 @@ build_dsdt_microvm(GArray *table_data, BIOSLinker *linker,
sb_scope = aml_scope("_SB");
fw_cfg_add_acpi_dsdt(sb_scope, x86ms->fw_cfg);
- isa_build_aml(ISA_BUS(isabus), sb_scope);
+ qbus_build_aml(BUS(isabus), sb_scope);
build_ged_aml(sb_scope, GED_DEVICE, x86ms->acpi_dev,
GED_MMIO_IRQ, AML_SYSTEM_MEMORY, GED_MMIO_BASE);
acpi_dsdt_add_power_button(sb_scope);
diff --git a/hw/isa/isa-bus.c b/hw/isa/isa-bus.c
index 1bee1a47f1..f155b80010 100644
--- a/hw/isa/isa-bus.c
+++ b/hw/isa/isa-bus.c
@@ -24,7 +24,6 @@
#include "hw/sysbus.h"
#include "sysemu/sysemu.h"
#include "hw/isa/isa.h"
-#include "hw/acpi/acpi_aml_interface.h"
static ISABus *isabus;
@@ -188,15 +187,6 @@ ISADevice *isa_vga_init(ISABus *bus)
}
}
-void isa_build_aml(ISABus *bus, Aml *scope)
-{
- BusChild *kid;
-
- QTAILQ_FOREACH(kid, &bus->parent_obj.children, sibling) {
- call_dev_aml_func(DEVICE(kid->child), scope);
- }
-}
-
static void isabus_bridge_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
--
2.39.0
On Mon, 16 Jan 2023 16:29:07 +0100
Bernhard Beschow <shentey@gmail.com> wrote:
> Frees isa-bus.c from implicit ACPI dependency.
>
> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
> ---
> include/hw/acpi/acpi_aml_interface.h | 3 +++
> include/hw/isa/isa.h | 1 -
> hw/acpi/acpi_interface.c | 10 ++++++++++
> hw/i386/acpi-microvm.c | 3 ++-
> hw/isa/isa-bus.c | 10 ----------
> 5 files changed, 15 insertions(+), 12 deletions(-)
>
> diff --git a/include/hw/acpi/acpi_aml_interface.h b/include/hw/acpi/acpi_aml_interface.h
> index 436da069d6..11748a8866 100644
> --- a/include/hw/acpi/acpi_aml_interface.h
> +++ b/include/hw/acpi/acpi_aml_interface.h
> @@ -3,6 +3,7 @@
>
> #include "qom/object.h"
> #include "hw/acpi/aml-build.h"
> +#include "hw/qdev-core.h"
>
> #define TYPE_ACPI_DEV_AML_IF "acpi-dev-aml-interface"
> typedef struct AcpiDevAmlIfClass AcpiDevAmlIfClass;
> @@ -46,4 +47,6 @@ static inline void call_dev_aml_func(DeviceState *dev, Aml *scope)
> }
> }
>
> +void qbus_build_aml(BusState *bus, Aml *scope);
> +
> #endif
> diff --git a/include/hw/isa/isa.h b/include/hw/isa/isa.h
> index 6c8a8a92cb..25acd5c34c 100644
> --- a/include/hw/isa/isa.h
> +++ b/include/hw/isa/isa.h
> @@ -86,7 +86,6 @@ bool isa_realize_and_unref(ISADevice *dev, ISABus *bus, Error **errp);
> ISADevice *isa_create_simple(ISABus *bus, const char *name);
>
> ISADevice *isa_vga_init(ISABus *bus);
> -void isa_build_aml(ISABus *bus, Aml *scope);
>
> /**
> * isa_register_ioport: Install an I/O port region on the ISA bus.
> diff --git a/hw/acpi/acpi_interface.c b/hw/acpi/acpi_interface.c
> index c668d361f6..8637ff18fc 100644
> --- a/hw/acpi/acpi_interface.c
> +++ b/hw/acpi/acpi_interface.c
> @@ -2,6 +2,7 @@
> #include "hw/acpi/acpi_dev_interface.h"
> #include "hw/acpi/acpi_aml_interface.h"
> #include "qemu/module.h"
> +#include "qemu/queue.h"
>
> void acpi_send_event(DeviceState *dev, AcpiEventStatusBits event)
> {
> @@ -12,6 +13,15 @@ void acpi_send_event(DeviceState *dev, AcpiEventStatusBits event)
> }
> }
>
> +void qbus_build_aml(BusState *bus, Aml *scope)
> +{
> + BusChild *kid;
> +
> + QTAILQ_FOREACH(kid, &bus->children, sibling) {
> + call_dev_aml_func(DEVICE(kid->child), scope);
> + }
> +}
> +
> static void register_types(void)
> {
> static const TypeInfo acpi_dev_if_info = {
> diff --git a/hw/i386/acpi-microvm.c b/hw/i386/acpi-microvm.c
> index d8a444d06c..fec22d85c1 100644
> --- a/hw/i386/acpi-microvm.c
> +++ b/hw/i386/acpi-microvm.c
> @@ -26,6 +26,7 @@
>
> #include "exec/memory.h"
> #include "hw/acpi/acpi.h"
> +#include "hw/acpi/acpi_aml_interface.h"
> #include "hw/acpi/aml-build.h"
> #include "hw/acpi/bios-linker-loader.h"
> #include "hw/acpi/generic_event_device.h"
> @@ -129,7 +130,7 @@ build_dsdt_microvm(GArray *table_data, BIOSLinker *linker,
>
> sb_scope = aml_scope("_SB");
> fw_cfg_add_acpi_dsdt(sb_scope, x86ms->fw_cfg);
> - isa_build_aml(ISA_BUS(isabus), sb_scope);
> + qbus_build_aml(BUS(isabus), sb_scope);
> build_ged_aml(sb_scope, GED_DEVICE, x86ms->acpi_dev,
> GED_MMIO_IRQ, AML_SYSTEM_MEMORY, GED_MMIO_BASE);
> acpi_dsdt_add_power_button(sb_scope);
> diff --git a/hw/isa/isa-bus.c b/hw/isa/isa-bus.c
> index 1bee1a47f1..f155b80010 100644
> --- a/hw/isa/isa-bus.c
> +++ b/hw/isa/isa-bus.c
> @@ -24,7 +24,6 @@
> #include "hw/sysbus.h"
> #include "sysemu/sysemu.h"
> #include "hw/isa/isa.h"
> -#include "hw/acpi/acpi_aml_interface.h"
>
> static ISABus *isabus;
>
> @@ -188,15 +187,6 @@ ISADevice *isa_vga_init(ISABus *bus)
> }
> }
>
> -void isa_build_aml(ISABus *bus, Aml *scope)
> -{
> - BusChild *kid;
> -
> - QTAILQ_FOREACH(kid, &bus->parent_obj.children, sibling) {
> - call_dev_aml_func(DEVICE(kid->child), scope);
> - }
> -}
> -
> static void isabus_bridge_class_init(ObjectClass *klass, void *data)
> {
> DeviceClass *dc = DEVICE_CLASS(klass);
© 2016 - 2026 Red Hat, Inc.