[PATCH 3/3] tpm: Drop CONFIG_HW_RANDOM_TPM

From: Mario Limonciello
Date: Wed Aug 02 2023 - 21:55:09 EST


As the behavior of whether a TPM is registered for hwrng can be controlled
by command line, drop the kernel configuration option.

Cc: Mateusz Schyboll <dragonn@xxxxx>
Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
---
drivers/char/tpm/Kconfig | 11 -----------
drivers/char/tpm/tpm-chip.c | 6 +++---
2 files changed, 3 insertions(+), 14 deletions(-)

diff --git a/drivers/char/tpm/Kconfig b/drivers/char/tpm/Kconfig
index 927088b2c3d3f..69aaa730dc208 100644
--- a/drivers/char/tpm/Kconfig
+++ b/drivers/char/tpm/Kconfig
@@ -27,17 +27,6 @@ menuconfig TCG_TPM

if TCG_TPM

-config HW_RANDOM_TPM
- bool "TPM HW Random Number Generator support"
- depends on TCG_TPM && HW_RANDOM && !(TCG_TPM=y && HW_RANDOM=m)
- default y
- help
- This setting exposes the TPM's Random Number Generator as a hwrng
- device. This allows the kernel to collect randomness from the TPM at
- boot, and provides the TPM randomines in /dev/hwrng.
-
- If unsure, say Y.
-
config TCG_TIS_CORE
tristate
help
diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c
index 8fb42232bd7a5..0d69335743469 100644
--- a/drivers/char/tpm/tpm-chip.c
+++ b/drivers/char/tpm/tpm-chip.c
@@ -533,7 +533,7 @@ static int tpm_add_hwrng(struct tpm_chip *chip)
if (!trust_tpm)
chip->flags |= TPM_CHIP_FLAG_HWRNG_DISABLED;

- if (!IS_ENABLED(CONFIG_HW_RANDOM_TPM) || tpm_is_firmware_upgrade(chip) ||
+ if (tpm_is_firmware_upgrade(chip) ||
chip->flags & TPM_CHIP_FLAG_HWRNG_DISABLED)
return 0;

@@ -639,7 +639,7 @@ int tpm_chip_register(struct tpm_chip *chip)
return 0;

out_hwrng:
- if (IS_ENABLED(CONFIG_HW_RANDOM_TPM) && !tpm_is_firmware_upgrade(chip) &&
+ if (!tpm_is_firmware_upgrade(chip) &&
!(chip->flags & TPM_CHIP_FLAG_HWRNG_DISABLED))
hwrng_unregister(&chip->hwrng);
out_ppi:
@@ -665,7 +665,7 @@ EXPORT_SYMBOL_GPL(tpm_chip_register);
void tpm_chip_unregister(struct tpm_chip *chip)
{
tpm_del_legacy_sysfs(chip);
- if (IS_ENABLED(CONFIG_HW_RANDOM_TPM) && !tpm_is_firmware_upgrade(chip) &&
+ if (!tpm_is_firmware_upgrade(chip) &&
!(chip->flags & TPM_CHIP_FLAG_HWRNG_DISABLED))
hwrng_unregister(&chip->hwrng);
tpm_bios_log_teardown(chip);
--
2.34.1