acpi: make isa_build_aml() support AcpiDevAmlIf interface
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>
This commit is contained in:
parent
23609e47c0
commit
f974e0b75b
@ -24,6 +24,7 @@
|
||||
#include "hw/sysbus.h"
|
||||
#include "sysemu/sysemu.h"
|
||||
#include "hw/isa/isa.h"
|
||||
#include "hw/acpi/acpi_aml_interface.h"
|
||||
|
||||
static ISABus *isabus;
|
||||
|
||||
@ -196,8 +197,12 @@ void isa_build_aml(ISABus *bus, Aml *scope)
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user