summary refs log tree commit diff stats
path: root/tpm.c
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2015-10-26 16:35:00 -0600
committerMarkus Armbruster <armbru@redhat.com>2015-11-02 08:30:28 +0100
commitce21131a0b9e556bb73bf65eacdc07ccb21f78a9 (patch)
treedb1bc17f384a3e97d3cbac8fcb0671bd0d024f0b /tpm.c
parent1fd5d4fea4ba686705fd377c7cffc0f0c9f83f93 (diff)
downloadfocaccia-qemu-ce21131a0b9e556bb73bf65eacdc07ccb21f78a9.tar.gz
focaccia-qemu-ce21131a0b9e556bb73bf65eacdc07ccb21f78a9.zip
tpm: Convert to new qapi union layout
We have two issues with our qapi union layout:
1) Even though the QMP wire format spells the tag 'type', the
C code spells it 'kind', requiring some hacks in the generator.
2) The C struct uses an anonymous union, which places all tag
values in the same namespace as all non-variant members. This
leads to spurious collisions if a tag value matches a non-variant
member's name.

Make the conversion to the new layout for TPM-related code.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <1445898903-12082-22-git-send-email-eblake@redhat.com>
[Commit message tweaked slightly]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'tpm.c')
-rw-r--r--tpm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/tpm.c b/tpm.c
index 4e9b109fba..f2c59d1f71 100644
--- a/tpm.c
+++ b/tpm.c
@@ -260,9 +260,9 @@ static TPMInfo *qmp_query_tpm_inst(TPMBackend *drv)
 
     switch (drv->ops->type) {
     case TPM_TYPE_PASSTHROUGH:
-        res->options->kind = TPM_TYPE_OPTIONS_KIND_PASSTHROUGH;
+        res->options->type = TPM_TYPE_OPTIONS_KIND_PASSTHROUGH;
         tpo = g_new0(TPMPassthroughOptions, 1);
-        res->options->passthrough = tpo;
+        res->options->u.passthrough = tpo;
         if (drv->path) {
             tpo->path = g_strdup(drv->path);
             tpo->has_path = true;