summaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
Diffstat (limited to 'backends')
-rw-r--r--backends/tpm.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/backends/tpm.c b/backends/tpm.c
index 1e416d7f90..86f0e7e915 100644
--- a/backends/tpm.c
+++ b/backends/tpm.c
@@ -43,9 +43,15 @@ enum TpmType tpm_backend_get_type(TPMBackend *s)
return k->type;
}
-int tpm_backend_init(TPMBackend *s, TPMState *state)
+int tpm_backend_init(TPMBackend *s, TPMIf *tpmif)
{
- s->tpm_state = state;
+ if (s->tpmif) {
+ return -1;
+ }
+
+ s->tpmif = tpmif;
+ object_ref(OBJECT(tpmif));
+
s->had_startup_error = false;
return 0;
@@ -193,6 +199,7 @@ static void tpm_backend_instance_finalize(Object *obj)
{
TPMBackend *s = TPM_BACKEND(obj);
+ object_unref(OBJECT(s->tpmif));
g_free(s->id);
tpm_backend_thread_end(s);
}