In some cases, we may wish to set up the TPM log under full control of
a driver in U-Boot. Export the required function to make this possible.

This avoids calling the weak function tcg2_platform_get_log() when the
caller already knows where the log is.

Signed-off-by: Simon Glass <s...@chromium.org>
---

 include/tpm_tcg2.h | 9 +++++++++
 lib/tpm_tcg2.c     | 2 +-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/include/tpm_tcg2.h b/include/tpm_tcg2.h
index eb6afe49e77..189a93ee840 100644
--- a/include/tpm_tcg2.h
+++ b/include/tpm_tcg2.h
@@ -345,4 +345,13 @@ void tcg2_platform_startup_error(struct udevice *dev, int 
rc);
  */
 u32 tcg2_algorithm_to_mask(enum tpm2_algorithms);
 
+/**
+ * tcg2_log_init() - Set up the elog
+ *
+ * @dev: TPM device, used to find the number of PCRs
+ * @elog       Platform event log
+ * Return: zero on success, negative errno otherwise
+ */
+int tcg2_log_init(struct udevice *dev, struct tcg2_event_log *elog);
+
 #endif /* __TPM_TCG_V2_H */
diff --git a/lib/tpm_tcg2.c b/lib/tpm_tcg2.c
index c314b401d0b..9909d9e14d5 100644
--- a/lib/tpm_tcg2.c
+++ b/lib/tpm_tcg2.c
@@ -220,7 +220,7 @@ static int tcg2_log_append_check(struct tcg2_event_log 
*elog, u32 pcr_index,
        return 0;
 }
 
-static int tcg2_log_init(struct udevice *dev, struct tcg2_event_log *elog)
+int tcg2_log_init(struct udevice *dev, struct tcg2_event_log *elog)
 {
        struct tpm_chip_priv *priv = dev_get_uclass_priv(dev);
        struct tcg_efi_spec_id_event *ev;
-- 
2.43.0

base-commit: bab54f5942c428be698216224fd10b91d974d4da
branch: tpma

Reply via email to