* [PATCH] hab/caam: Fix compilation of caam driver when hab is disabled
@ 2019-04-11 9:52 Sascha Hauer
0 siblings, 0 replies; only message in thread
From: Sascha Hauer @ 2019-04-11 9:52 UTC (permalink / raw)
To: Barebox List
The caam driver needs the variable habv4_need_rng_software_self_test,
but this is only declared when HABV4 is enabled. Instead of exporting
a variable rather provide a function to test if a software selftest
of the random number generator is needed.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
drivers/crypto/caam/ctrl.c | 3 +--
drivers/hab/habv4.c | 9 +++++++--
include/hab.h | 7 +++++--
3 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/drivers/crypto/caam/ctrl.c b/drivers/crypto/caam/ctrl.c
index 39910131b1..4fe3eea3e6 100644
--- a/drivers/crypto/caam/ctrl.c
+++ b/drivers/crypto/caam/ctrl.c
@@ -573,8 +573,7 @@ static int caam_probe(struct device_d *dev)
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 ca95c01e7b..6d2aabff59 100644
--- a/drivers/hab/habv4.c
+++ b/drivers/hab/habv4.c
@@ -392,8 +392,13 @@ static void habv4_display_event(uint8_t *data, uint32_t len)
* 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 30eace7685..a74b7dafce 100644
--- a/include/hab.h
+++ b/include/hab.h
@@ -20,11 +20,10 @@
#include <errno.h>
-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 @@ static inline int imx6_hab_get_status(void)
{
return -EPERM;
}
+static inline bool caam_need_rng_software_selftest(void)
+{
+ return false;
+}
#endif
#ifdef CONFIG_HABV3
--
2.20.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-04-11 9:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-11 9:52 [PATCH] hab/caam: Fix compilation of caam driver when hab is disabled Sascha Hauer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox