[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 06/30] qapi acpi: Elide redundant has_FOO in generated C
From: |
Markus Armbruster |
Subject: |
[PATCH v3 06/30] qapi acpi: Elide redundant has_FOO in generated C |
Date: |
Fri, 4 Nov 2022 17:06:48 +0100 |
The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with. Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step. This is the step for qapi/acpi.py.
Said commit explains the transformation in more detail. The invariant
violations mentioned there do not occur here.
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Ani Sinha <ani@anisinha.ca>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
---
hw/acpi/core.c | 14 +++++++-------
hw/acpi/cpu.c | 1 -
hw/acpi/memory_hotplug.c | 1 -
scripts/qapi/schema.py | 1 -
4 files changed, 7 insertions(+), 10 deletions(-)
diff --git a/hw/acpi/core.c b/hw/acpi/core.c
index 3e811bf03c..6da275c599 100644
--- a/hw/acpi/core.c
+++ b/hw/acpi/core.c
@@ -185,7 +185,7 @@ static void acpi_table_install(const char unsigned *blob,
size_t bloblen,
changed_fields = 0;
ext_hdr->_length = cpu_to_le16(acpi_payload_size);
- if (hdrs->has_sig) {
+ if (hdrs->sig) {
strncpy(ext_hdr->sig, hdrs->sig, sizeof ext_hdr->sig);
++changed_fields;
}
@@ -204,11 +204,11 @@ static void acpi_table_install(const char unsigned *blob,
size_t bloblen,
ext_hdr->checksum = 0;
- if (hdrs->has_oem_id) {
+ if (hdrs->oem_id) {
strncpy(ext_hdr->oem_id, hdrs->oem_id, sizeof ext_hdr->oem_id);
++changed_fields;
}
- if (hdrs->has_oem_table_id) {
+ if (hdrs->oem_table_id) {
strncpy(ext_hdr->oem_table_id, hdrs->oem_table_id,
sizeof ext_hdr->oem_table_id);
++changed_fields;
@@ -217,7 +217,7 @@ static void acpi_table_install(const char unsigned *blob,
size_t bloblen,
ext_hdr->oem_revision = cpu_to_le32(hdrs->oem_rev);
++changed_fields;
}
- if (hdrs->has_asl_compiler_id) {
+ if (hdrs->asl_compiler_id) {
strncpy(ext_hdr->asl_compiler_id, hdrs->asl_compiler_id,
sizeof ext_hdr->asl_compiler_id);
++changed_fields;
@@ -255,12 +255,12 @@ void acpi_table_add(const QemuOpts *opts, Error **errp)
if (!hdrs) {
goto out;
}
- if (hdrs->has_file == hdrs->has_data) {
+ if (!hdrs->file == !hdrs->data) {
error_setg(errp, "'-acpitable' requires one of 'data' or 'file'");
goto out;
}
- pathnames = g_strsplit(hdrs->has_file ? hdrs->file : hdrs->data, ":", 0);
+ pathnames = g_strsplit(hdrs->file ?: hdrs->data, ":", 0);
if (pathnames == NULL || pathnames[0] == NULL) {
error_setg(errp, "'-acpitable' requires at least one pathname");
goto out;
@@ -297,7 +297,7 @@ void acpi_table_add(const QemuOpts *opts, Error **errp)
close(fd);
}
- acpi_table_install(blob, bloblen, hdrs->has_file, hdrs, errp);
+ acpi_table_install(blob, bloblen, !!hdrs->file, hdrs, errp);
out:
g_free(blob);
diff --git a/hw/acpi/cpu.c b/hw/acpi/cpu.c
index 3646dbfe68..4e580959a2 100644
--- a/hw/acpi/cpu.c
+++ b/hw/acpi/cpu.c
@@ -35,7 +35,6 @@ static ACPIOSTInfo *acpi_cpu_device_status(int idx,
AcpiCpuStatus *cdev)
DeviceState *dev = DEVICE(cdev->cpu);
if (dev->id) {
info->device = g_strdup(dev->id);
- info->has_device = true;
}
}
return info;
diff --git a/hw/acpi/memory_hotplug.c b/hw/acpi/memory_hotplug.c
index 0a7e89a13e..a7476330a8 100644
--- a/hw/acpi/memory_hotplug.c
+++ b/hw/acpi/memory_hotplug.c
@@ -44,7 +44,6 @@ static ACPIOSTInfo *acpi_memory_device_status(int slot,
MemStatus *mdev)
DeviceState *dev = DEVICE(mdev->dimm);
if (dev->id) {
info->device = g_strdup(dev->id);
- info->has_device = true;
}
}
return info;
diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
index ae09c38103..ad7634de58 100644
--- a/scripts/qapi/schema.py
+++ b/scripts/qapi/schema.py
@@ -759,7 +759,6 @@ def need_has(self):
assert self.type
# Temporary hack to support dropping the has_FOO in reviewable chunks
opt_out = [
- 'qapi/acpi.json',
'qapi/audio.json',
'qapi/block-core.json',
'qapi/block-export.json',
--
2.37.3
- [PATCH v3 24/30] qapi stats: Elide redundant has_FOO in generated C, (continued)
- [PATCH v3 24/30] qapi stats: Elide redundant has_FOO in generated C, Markus Armbruster, 2022/11/04
- [PATCH v3 12/30] qapi crypto: Elide redundant has_FOO in generated C, Markus Armbruster, 2022/11/04
- [PATCH v3 04/30] qapi: Start to elide redundant has_FOO in generated C, Markus Armbruster, 2022/11/04
- [PATCH v3 05/30] qapi tests: Elide redundant has_FOO in generated C, Markus Armbruster, 2022/11/04
- [PATCH v3 21/30] qapi replay: Elide redundant has_FOO in generated C, Markus Armbruster, 2022/11/04
- [PATCH v3 26/30] qapi transaction: Elide redundant has_FOO in generated C, Markus Armbruster, 2022/11/04
- [PATCH v3 08/30] blockdev: Clean up abuse of DriveBackup member format, Markus Armbruster, 2022/11/04
- [PATCH v3 27/30] qapi ui: Elide redundant has_FOO in generated C, Markus Armbruster, 2022/11/04
- [PATCH v3 06/30] qapi acpi: Elide redundant has_FOO in generated C,
Markus Armbruster <=
- [PATCH v3 10/30] qapi block: Elide redundant has_FOO in generated C, Markus Armbruster, 2022/11/04
- [PATCH v3 28/30] qapi virtio: Elide redundant has_FOO in generated C, Markus Armbruster, 2022/11/04
- [PATCH v3 25/30] qapi tpm: Elide redundant has_FOO in generated C, Markus Armbruster, 2022/11/04
- [PATCH v3 23/30] qapi run-state: Elide redundant has_FOO in generated C, Markus Armbruster, 2022/11/04
- [PATCH v3 19/30] qapi pci: Elide redundant has_FOO in generated C, Markus Armbruster, 2022/11/04
- [PATCH v3 16/30] qapi migration: Elide redundant has_FOO in generated C, Markus Armbruster, 2022/11/04
- [PATCH v3 30/30] qapi: Drop temporary logic to support conversion step by step, Markus Armbruster, 2022/11/04
- [PATCH v3 03/30] docs/devel/qapi-code-gen: Extend example for next commit's change, Markus Armbruster, 2022/11/04
- [PATCH v3 13/30] qapi dump: Elide redundant has_FOO in generated C, Markus Armbruster, 2022/11/04