To allow incremental conversion from ISADeviceClass::build_aml
to AcpiDevAmlIf, add support for the later without removing
the former. Once conversion is complete, another commit will
drop ISADeviceClass::build_aml related code.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Ani Sinha <ani@anisinha.ca>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Message-Id: <
20220608135340.
3304695-3-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
#include "hw/sysbus.h"
#include "sysemu/sysemu.h"
#include "hw/isa/isa.h"
+#include "hw/acpi/acpi_aml_interface.h"
static ISABus *isabus;
QTAILQ_FOREACH(kid, &bus->parent_obj.children, sibling) {
dev = ISA_DEVICE(kid->child);
dc = ISA_DEVICE_GET_CLASS(dev);
+ bool has_build_dev_aml = !!object_dynamic_cast(OBJECT(dev),
+ TYPE_ACPI_DEV_AML_IF);
if (dc->build_aml) {
dc->build_aml(dev, scope);
+ } else if (has_build_dev_aml) {
+ call_dev_aml_func(DEVICE(dev), scope);
}
}
}