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