From: Winston Wen <wen...@uniontech.com> On x86_64 with gcc version 13.3.0, I compile kernel with:
make defconfig ./scripts/kconfig/merge_config.sh .config <( echo CONFIG_TCG_TPM=y echo CONFIG_HW_RANDOM=m ) make KCFLAGS="-fno-inline-small-functions -fno-inline-functions-called-once" Then I get a link error: ld: vmlinux.o: in function `tpm_add_hwrng': tpm-chip.c:(.text+0x6c5924): undefined reference to `hwrng_register' ld: vmlinux.o: in function `tpm_chip_unregister': (.text+0x6c5bc9): undefined reference to `hwrng_unregister' ld: vmlinux.o: in function `tpm_chip_register': (.text+0x6c5c9b): undefined reference to `hwrng_unregister' Signed-off-by: Winston Wen <wen...@uniontech.com> Co-Developed-by: Chen Linxuan <chenlinx...@uniontech.com> Signed-off-by: Chen Linxuan <chenlinx...@uniontech.com> --- drivers/char/tpm/tpm-chip.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c index e25daf2396d3..48cc74d84247 100644 --- a/drivers/char/tpm/tpm-chip.c +++ b/drivers/char/tpm/tpm-chip.c @@ -534,7 +534,7 @@ static int tpm_hwrng_read(struct hwrng *rng, void *data, size_t max, bool wait) return tpm_get_random(chip, data, max); } -static bool tpm_is_hwrng_enabled(struct tpm_chip *chip) +static __always_inline bool tpm_is_hwrng_enabled(struct tpm_chip *chip) { if (!IS_ENABLED(CONFIG_HW_RANDOM_TPM)) return false; -- 2.48.1