• M
    tpm: Clean up model registration & lookup · 00bbf50a
    Markus Armbruster 提交于
    We have a strict separation between enum TpmModel and tpm_models[]:
    
    * TpmModel may have any number of members.  It just happens to have one.
    
    * tpm_register_model() uses the first empty slot in tpm_models[].
    
      If you register more than tpm_models[] has space,
      tpn_register_model() fails.  Its caller silently ignores the
      failure.
    
      Register the same TpmModel more than once has no effect other than
      wasting tpm_models[] slots: tpm_model_is_registered() is happy with
      the first one it finds.
    
    Since we only ever register one model, and tpm_models[] has space for
    just that one, this contraption even works.
    
    Turn tpm_models[] into a straight map from enum TpmType to bool.  Much
    simpler.
    
    Cc: Stefan Berger <stefanb@us.ibm.com>
    Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
    Message-Id: <1503564371-26090-5-git-send-email-armbru@redhat.com>
    Reviewed-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
    [Commit message typo fixed]
    00bbf50a
tpm.c 6.6 KB