[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v1 12/32] tpm-backend: move set 'id' to common code
From: |
Stefan Berger |
Subject: |
[Qemu-devel] [PULL v1 12/32] tpm-backend: move set 'id' to common code |
Date: |
Sat, 16 Dec 2017 12:41:29 -0500 |
From: Marc-André Lureau <address@hidden>
Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Stefan Berger <address@hidden>
Signed-off-by: Stefan Berger <address@hidden>
---
hw/tpm/tpm_emulator.c | 12 +++---------
hw/tpm/tpm_passthrough.c | 9 +++------
include/sysemu/tpm_backend.h | 2 +-
tpm.c | 3 ++-
4 files changed, 9 insertions(+), 17 deletions(-)
diff --git a/hw/tpm/tpm_emulator.c b/hw/tpm/tpm_emulator.c
index 47f37d6..94e6660 100644
--- a/hw/tpm/tpm_emulator.c
+++ b/hw/tpm/tpm_emulator.c
@@ -463,22 +463,16 @@ err:
return -1;
}
-static TPMBackend *tpm_emulator_create(QemuOpts *opts, const char *id)
+static TPMBackend *tpm_emulator_create(QemuOpts *opts)
{
TPMBackend *tb = TPM_BACKEND(object_new(TYPE_TPM_EMULATOR));
- tb->id = g_strdup(id);
-
if (tpm_emulator_handle_device_opts(TPM_EMULATOR(tb), opts)) {
- goto err_exit;
+ object_unref(OBJECT(tb));
+ return NULL;
}
return tb;
-
-err_exit:
- object_unref(OBJECT(tb));
-
- return NULL;
}
static TpmTypeOptions *tpm_emulator_get_tpm_options(TPMBackend *tb)
diff --git a/hw/tpm/tpm_passthrough.c b/hw/tpm/tpm_passthrough.c
index 9326cbf..7371d50 100644
--- a/hw/tpm/tpm_passthrough.c
+++ b/hw/tpm/tpm_passthrough.c
@@ -284,13 +284,10 @@ tpm_passthrough_handle_device_opts(TPMPassthruState
*tpm_pt, QemuOpts *opts)
return 1;
}
-static TPMBackend *tpm_passthrough_create(QemuOpts *opts, const char *id)
+static TPMBackend *tpm_passthrough_create(QemuOpts *opts)
{
Object *obj = object_new(TYPE_TPM_PASSTHROUGH);
- TPMBackend *tb = TPM_BACKEND(obj);
- TPMPassthruState *tpm_pt = TPM_PASSTHROUGH(tb);
-
- tb->id = g_strdup(id);
+ TPMPassthruState *tpm_pt = TPM_PASSTHROUGH(obj);
if (tpm_passthrough_handle_device_opts(tpm_pt, opts)) {
goto err_exit;
@@ -301,7 +298,7 @@ static TPMBackend *tpm_passthrough_create(QemuOpts *opts,
const char *id)
goto err_exit;
}
- return tb;
+ return TPM_BACKEND(obj);
err_exit:
object_unref(obj);
diff --git a/include/sysemu/tpm_backend.h b/include/sysemu/tpm_backend.h
index ce8dee5..1ad27ec 100644
--- a/include/sysemu/tpm_backend.h
+++ b/include/sysemu/tpm_backend.h
@@ -63,7 +63,7 @@ struct TPMBackendClass {
/* get a descriptive text of the backend to display to the user */
const char *desc;
- TPMBackend *(*create)(QemuOpts *opts, const char *id);
+ TPMBackend *(*create)(QemuOpts *opts);
/* start up the TPM on the backend - optional */
int (*startup_tpm)(TPMBackend *t);
diff --git a/tpm.c b/tpm.c
index 32d398a..520f449 100644
--- a/tpm.c
+++ b/tpm.c
@@ -127,11 +127,12 @@ static int tpm_init_tpmdev(void *dummy, QemuOpts *opts,
Error **errp)
return 1;
}
- drv = be->create(opts, id);
+ drv = be->create(opts);
if (!drv) {
return 1;
}
+ drv->id = g_strdup(id);
QLIST_INSERT_HEAD(&tpm_backends, drv, list);
return 0;
--
2.5.5
- [Qemu-devel] [PULL v1 03/32] tpm-backend: store TPMIf interface, improve backend_init(), (continued)
- [Qemu-devel] [PULL v1 03/32] tpm-backend: store TPMIf interface, improve backend_init(), Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 07/32] tpm-be: ask model to the TPM interface, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 06/32] tpm-be: report error instead of front-end, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 05/32] tpm-be: call request_completed() out of thread, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 04/32] tpm-tis: no longer expose TPMState, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 08/32] tpm: remove unused opened code, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 13/32] tpm-passthrough: make it safer to destroy after creation, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 11/32] tpm-passthrough: pass TPMPassthruState to handle_device_opts, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 10/32] tpm-be: update optional function pointers, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 09/32] tpm-passthrough: don't save guessed cancel_path in options, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 12/32] tpm-backend: move set 'id' to common code,
Stefan Berger <=
- [Qemu-devel] [PULL v1 15/32] tpm-passthrough: workaround a possible race, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 14/32] tpm-passthrough: simplify create(), Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 17/32] tpm: rename qemu_find_tpm() -> qemu_find_tpm_be(), Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 18/32] tpm: lookup the the TPM interface instead of TIS device, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 16/32] tpm-tis: simplify header inclusion, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 20/32] tpm: add tpm_cmd_get_size() to tpm_util, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 19/32] tpm: add TPM interface to lookup TPM version, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 21/32] acpi: change TPM TIS data conditions, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 22/32] tpm-emulator: add a FIXME comment about blocking cancel, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 23/32] tpm-tis: remove redundant 'tpm_tis:' in error messages, Stefan Berger, 2017/12/16