qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 23/27] qapi tpm: Elide redundant has_FOO in generated C


From: Stefan Berger
Subject: Re: [PATCH 23/27] qapi tpm: Elide redundant has_FOO in generated C
Date: Thu, 15 Sep 2022 17:12:25 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0



On 9/15/22 16:43, Markus Armbruster wrote:
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/tpm.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: Stefan Berger <stefanb@linux.vnet.ibm.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>

---
  backends/tpm/tpm_passthrough.c | 2 --
  monitor/hmp-cmds.c             | 8 ++++----
  scripts/qapi/schema.py         | 1 -
  3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/backends/tpm/tpm_passthrough.c b/backends/tpm/tpm_passthrough.c
index 5a2f74db1b..179697a3a9 100644
--- a/backends/tpm/tpm_passthrough.c
+++ b/backends/tpm/tpm_passthrough.c
@@ -259,12 +259,10 @@ tpm_passthrough_handle_device_opts(TPMPassthruState 
*tpm_pt, QemuOpts *opts)
      value = qemu_opt_get(opts, "cancel-path");
      if (value) {
          tpm_pt->options->cancel_path = g_strdup(value);
-        tpm_pt->options->has_cancel_path = true;
      }

      value = qemu_opt_get(opts, "path");
      if (value) {
-        tpm_pt->options->has_path = true;
          tpm_pt->options->path = g_strdup(value);
      }

diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c
index 7ae986ab10..4a2485ddaa 100644
--- a/monitor/hmp-cmds.c
+++ b/monitor/hmp-cmds.c
@@ -883,10 +883,10 @@ void hmp_info_tpm(Monitor *mon, const QDict *qdict)
          case TPM_TYPE_PASSTHROUGH:
              tpo = ti->options->u.passthrough.data;
              monitor_printf(mon, "%s%s%s%s",
-                           tpo->has_path ? ",path=" : "",
-                           tpo->has_path ? tpo->path : "",
-                           tpo->has_cancel_path ? ",cancel-path=" : "",
-                           tpo->has_cancel_path ? tpo->cancel_path : "");
+                           tpo->path ? ",path=" : "",
+                           tpo->path ?: "",
+                           tpo->cancel_path ? ",cancel-path=" : "",
+                           tpo->cancel_path ?: "");
              break;
          case TPM_TYPE_EMULATOR:
              teo = ti->options->u.emulator.data;
diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
index 6f35e57fe2..2bec0588c8 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/tpm.json',
              'qapi/transaction.json',
              'qapi/ui.json',
              'qga/qapi-schema.json']



reply via email to

[Prev in Thread] Current Thread [Next in Thread]