qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 28/28] tpm: remove tpm_register_model()


From: Stefan Berger
Subject: Re: [Qemu-devel] [PATCH v2 28/28] tpm: remove tpm_register_model()
Date: Mon, 6 Nov 2017 15:33:45 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0

On 11/06/2017 01:39 PM, Marc-André Lureau wrote:
Query object classes that implements TPMIf instead.

Signed-off-by: Marc-André Lureau <address@hidden>

Reviewed-by: Stefan Berger <address@hidden>

---
  include/sysemu/tpm_backend.h |  2 --
  hw/tpm/tpm_tis.c             |  1 -
  tpm.c                        | 20 ++++++--------------
  3 files changed, 6 insertions(+), 17 deletions(-)

diff --git a/include/sysemu/tpm_backend.h b/include/sysemu/tpm_backend.h
index c42d83aaef..590e8b42de 100644
--- a/include/sysemu/tpm_backend.h
+++ b/include/sysemu/tpm_backend.h
@@ -194,6 +194,4 @@ TPMInfo *tpm_backend_query_tpm(TPMBackend *s);
TPMBackend *qemu_find_tpm_be(const char *id); -void tpm_register_model(enum TpmModel model);
-
  #endif
diff --git a/hw/tpm/tpm_tis.c b/hw/tpm/tpm_tis.c
index a00779f3aa..cc32fcde36 100644
--- a/hw/tpm/tpm_tis.c
+++ b/hw/tpm/tpm_tis.c
@@ -1115,7 +1115,6 @@ static const TypeInfo tpm_tis_info = {
  static void tpm_tis_register(void)
  {
      type_register_static(&tpm_tis_info);
-    tpm_register_model(TPM_MODEL_TPM_TIS);
  }
type_init(tpm_tis_register)
diff --git a/tpm.c b/tpm.c
index 4661dfc46e..61a434185a 100644
--- a/tpm.c
+++ b/tpm.c
@@ -23,13 +23,6 @@
  static QLIST_HEAD(, TPMBackend) tpm_backends =
      QLIST_HEAD_INITIALIZER(tpm_backends);
-static bool tpm_models[TPM_MODEL__MAX];
-
-void tpm_register_model(enum TpmModel model)
-{
-    tpm_models[model] = true;
-}
-
  static const TPMBackendClass *
  tpm_be_find_by_type(enum TpmType type)
  {
@@ -236,18 +229,16 @@ TpmTypeList *qmp_query_tpm_types(Error **errp)
return head;
  }
-
  TpmModelList *qmp_query_tpm_models(Error **errp)
  {
-    unsigned int i = 0;
      TpmModelList *head = NULL, *prev = NULL, *cur_item;
+    GSList *e, *l = object_class_get_list(TYPE_TPM_IF, false);
+
+    for (e = l; e; e = e->next) {
+        TPMIfClass *c = TPM_IF_CLASS(e->data);
- for (i = 0; i < TPM_MODEL__MAX; i++) {
-        if (!tpm_models[i]) {
-            continue;
-        }
          cur_item = g_new0(TpmModelList, 1);
-        cur_item->value = i;
+        cur_item->value = c->model;
if (prev) {
              prev->next = cur_item;
@@ -257,6 +248,7 @@ TpmModelList *qmp_query_tpm_models(Error **errp)
          }
          prev = cur_item;
      }
+    g_slist_free(l);
return head;
  }





reply via email to

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