提交 9f7c0ef2 编写于 作者: M Marc-André Lureau 提交者: Stefan Berger

tpm-backend: move set 'id' to common code

Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: NStefan Berger <stefanb@linux.vnet.ibm.com>
Signed-off-by: NStefan Berger <stefanb@linux.vnet.ibm.com>
上级 803de211
......@@ -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)
......
......@@ -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);
......
......@@ -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);
......
......@@ -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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册