Hi Sughosh, On Tue, 1 Mar 2022 at 21:50, Sughosh Ganu <sughosh.g...@linaro.org> wrote: > > hi Simon, > > On Tue, 1 Mar 2022 at 20:29, Simon Glass <s...@chromium.org> wrote: > > > > Hi Sughosh, > > > > On Mon, 28 Feb 2022 at 05:07, Sughosh Ganu <sughosh.g...@linaro.org> wrote: > > > > > > The TPM code currently does a runtime detection of the TPM version and > > > calls appropriate functions. Chromebook Coral is one of the platforms > > > where the TPMV1 code is disabled at build time. With this, calling TPM > > > api's from the TPM uclass driver results in link errors. Enable TPMV1 > > > library routines and determine the TPM version at runtime like other > > > platforms. > > > > > > Signed-off-by: Sughosh Ganu <sughosh.g...@linaro.org> > > > --- > > > > > > Changes since V1: None > > > > > > configs/chromebook_coral_defconfig | 1 - > > > 1 file changed, 1 deletion(-) > > > > > > diff --git a/configs/chromebook_coral_defconfig > > > b/configs/chromebook_coral_defconfig > > > index 0cd8f39aa3..4704ce25c8 100644 > > > --- a/configs/chromebook_coral_defconfig > > > +++ b/configs/chromebook_coral_defconfig > > > @@ -104,7 +104,6 @@ CONFIG_SPI=y > > > CONFIG_ICH_SPI=y > > > # CONFIG_SYSINFO_SMBIOS is not set > > > CONFIG_TPL_SYSRESET=y > > > -# CONFIG_TPM_V1 is not set > > > CONFIG_TPM2_CR50_I2C=y > > > CONFIG_USB_XHCI_HCD=y > > > CONFIG_USB_STORAGE=y > > > -- > > > 2.25.1 > > > > This board does not have a v1 TPM so we don't want to waste code space > > adding it. > > Yes, but because the version detection is happening at runtime, we > need both the files to be compiled if we call any of the tpm api from > outside lib/tpm. When I call the tpm_startup function from the > child_pre_probe callback in tpm-uclass.c, I get link errors for the > TPM v2 functions. Similarly for Gazerbeam board. > > > > > The current code works fine and supports both a build-time and > > run-time check. What has gone wrong? > > Does not work when an api is called from the tpm uclass driver.
OK, I see, then the tpm_is_v1() functions need to stay in the header file, to fix that. Regards, Simon