diff --git a/drivers/crypto/caam/ctrl.c b/drivers/crypto/caam/ctrl.c index 3991013..4fe3eea 100644 --- a/drivers/crypto/caam/ctrl.c +++ b/drivers/crypto/caam/ctrl.c @@ -573,8 +573,7 @@ cha_vid_ls = rd_reg32(&ctrl->perfmon.cha_id_ls); /* habv4_need_rng_software_self_test is determined by habv4_get_status() */ - if (IS_ENABLED(CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_SELF_TEST) && - habv4_need_rng_software_self_test) { + if (caam_need_rng_software_selftest()) { u8 caam_era; u8 rngvid; u8 rngrev; diff --git a/drivers/hab/habv4.c b/drivers/hab/habv4.c index ca95c01..496fbe3 100644 --- a/drivers/hab/habv4.c +++ b/drivers/hab/habv4.c @@ -392,8 +392,13 @@ * self-test in ROM code. In this case, an HAB event is generated, and a * software self-test should be run. This variable is set to @c true by * habv4_get_status() when this occurs. */ -bool habv4_need_rng_software_self_test = false; -EXPORT_SYMBOL(habv4_need_rng_software_self_test); +static bool habv4_need_rng_software_self_test; + +bool caam_need_rng_software_selftest(void) +{ + return IS_ENABLED(CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_SELF_TEST) && + habv4_need_rng_software_self_test; +} #define RNG_FAIL_EVENT_SIZE 36 static uint8_t habv4_known_rng_fail_events[][RNG_FAIL_EVENT_SIZE] = { diff --git a/include/hab.h b/include/hab.h index 30eace7..a74b7da 100644 --- a/include/hab.h +++ b/include/hab.h @@ -20,11 +20,10 @@ #include -extern bool habv4_need_rng_software_self_test; - #ifdef CONFIG_HABV4 int imx28_hab_get_status(void); int imx6_hab_get_status(void); +bool caam_need_rng_software_selftest(void); #else static inline int imx28_hab_get_status(void) { @@ -34,6 +33,10 @@ { return -EPERM; } +static inline bool caam_need_rng_software_selftest(void) +{ + return false; +} #endif #ifdef CONFIG_HABV3