On Wed, 25 Feb 2026 04:57:30 +0100
Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
> acpi_interface.c should only register QOM interfaces. Move
> the acpi_send_event() function to core.c with the other
> event handlers, and its declaration in 'hw/acpi/acpi.h'.
>
> Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
> ---
> include/hw/acpi/acpi.h | 1 +
> include/hw/acpi/acpi_dev_interface.h | 2 --
> hw/acpi/acpi_interface.c | 9 ---------
> hw/acpi/core.c | 10 ++++++++++
> 4 files changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/include/hw/acpi/acpi.h b/include/hw/acpi/acpi.h
> index b036116dfb8..dc3672db521 100644
> --- a/include/hw/acpi/acpi.h
> +++ b/include/hw/acpi/acpi.h
> @@ -182,6 +182,7 @@ void acpi_gpe_reset(ACPIREGS *ar);
> void acpi_gpe_ioport_writeb(ACPIREGS *ar, uint32_t addr, uint32_t val);
> uint32_t acpi_gpe_ioport_readb(ACPIREGS *ar, uint32_t addr);
>
> +void acpi_send_event(DeviceState *dev, AcpiEventStatusBits event);
> void acpi_send_gpe_event(ACPIREGS *ar, qemu_irq irq,
> AcpiEventStatusBits status);
>
> diff --git a/include/hw/acpi/acpi_dev_interface.h b/include/hw/acpi/acpi_dev_interface.h
> index 5927e40eaff..65debb90a8d 100644
> --- a/include/hw/acpi/acpi_dev_interface.h
> +++ b/include/hw/acpi/acpi_dev_interface.h
> @@ -27,8 +27,6 @@ DECLARE_CLASS_CHECKERS(AcpiDeviceIfClass, ACPI_DEVICE_IF,
>
> typedef struct AcpiDeviceIf AcpiDeviceIf;
>
> -void acpi_send_event(DeviceState *dev, AcpiEventStatusBits event);
> -
> /**
> * AcpiDeviceIfClass:
> *
> diff --git a/hw/acpi/acpi_interface.c b/hw/acpi/acpi_interface.c
> index 8637ff18fca..e58e8aaee23 100644
> --- a/hw/acpi/acpi_interface.c
> +++ b/hw/acpi/acpi_interface.c
> @@ -4,15 +4,6 @@
> #include "qemu/module.h"
> #include "qemu/queue.h"
>
> -void acpi_send_event(DeviceState *dev, AcpiEventStatusBits event)
> -{
> - AcpiDeviceIfClass *adevc = ACPI_DEVICE_IF_GET_CLASS(dev);
> - if (adevc->send_event) {
> - AcpiDeviceIf *adev = ACPI_DEVICE_IF(dev);
> - adevc->send_event(adev, event);
> - }
> -}
> -
> void qbus_build_aml(BusState *bus, Aml *scope)
> {
> BusChild *kid;
> diff --git a/hw/acpi/core.c b/hw/acpi/core.c
> index 6b65e587f2a..a6a62a742d1 100644
> --- a/hw/acpi/core.c
> +++ b/hw/acpi/core.c
> @@ -22,6 +22,7 @@
> #include "qemu/osdep.h"
> #include "hw/core/irq.h"
> #include "hw/acpi/acpi.h"
> +#include "hw/acpi/acpi_dev_interface.h"
> #include "hw/nvram/fw_cfg.h"
> #include "qemu/config-file.h"
> #include "qapi/error.h"
> @@ -753,3 +754,12 @@ void acpi_update_sci(ACPIREGS *regs, qemu_irq irq)
> (regs->pm1.evt.en & ACPI_BITMASK_TIMER_ENABLE) &&
> !(pm1a_sts & ACPI_BITMASK_TIMER_STATUS));
> }
> +
> +void acpi_send_event(DeviceState *dev, AcpiEventStatusBits event)
> +{
> + AcpiDeviceIfClass *adevc = ACPI_DEVICE_IF_GET_CLASS(dev);
> + if (adevc->send_event) {
> + AcpiDeviceIf *adev = ACPI_DEVICE_IF(dev);
> + adevc->send_event(adev, event);
> + }
> +}