diff options
author | Igor Mammedov | 2022-10-17 12:21:41 +0200 |
---|---|---|
committer | Michael S. Tsirkin | 2022-11-07 20:08:17 +0100 |
commit | 5dbad0af10ff7d4f83db7f4ddd872d85332ebecc (patch) | |
tree | 04a3573ef30fa56a47902e7386b7d46fd53e5c3f /include | |
parent | tests: acpi: whitelist DSDT before generating ICH9_SMB AML automatically (diff) | |
download | qemu-5dbad0af10ff7d4f83db7f4ddd872d85332ebecc.tar.gz qemu-5dbad0af10ff7d4f83db7f4ddd872d85332ebecc.tar.xz qemu-5dbad0af10ff7d4f83db7f4ddd872d85332ebecc.zip |
acpi: add get_dev_aml_func() helper
It will be used in followup commits to figure out if
device has it's own, device specific AML block.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20221017102146.2254096-7-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Ani Sinha <ani@anisinha.ca>
Diffstat (limited to 'include')
-rw-r--r-- | include/hw/acpi/acpi_aml_interface.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/include/hw/acpi/acpi_aml_interface.h b/include/hw/acpi/acpi_aml_interface.h index ab76f0e55d..436da069d6 100644 --- a/include/hw/acpi/acpi_aml_interface.h +++ b/include/hw/acpi/acpi_aml_interface.h @@ -29,11 +29,20 @@ struct AcpiDevAmlIfClass { dev_aml_fn build_dev_aml; }; -static inline void call_dev_aml_func(DeviceState *dev, Aml *scope) +static inline dev_aml_fn get_dev_aml_func(DeviceState *dev) { if (object_dynamic_cast(OBJECT(dev), TYPE_ACPI_DEV_AML_IF)) { AcpiDevAmlIfClass *klass = ACPI_DEV_AML_IF_GET_CLASS(dev); - klass->build_dev_aml(ACPI_DEV_AML_IF(dev), scope); + return klass->build_dev_aml; + } + return NULL; +} + +static inline void call_dev_aml_func(DeviceState *dev, Aml *scope) +{ + dev_aml_fn fn = get_dev_aml_func(dev); + if (fn) { + fn(ACPI_DEV_AML_IF(dev), scope); } } |