[PATCH 1/3] magicvar: Use __UNIQUE_ID to generate name
Sascha Hauer
s.hauer at pengutronix.de
Thu Oct 1 04:07:06 EDT 2020
BAREBOX_MAGICVAR_NAME only exists to generate a unique identifier. We can
generate that using __UNIQUE_ID. With this we can convert users from
BAREBOX_MAGICVAR_NAME to the simpler BAREBOX_MAGICVAR macro.
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
include/magicvar.h | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/include/magicvar.h b/include/magicvar.h
index 9fb89a84cc..bad9b0dee5 100644
--- a/include/magicvar.h
+++ b/include/magicvar.h
@@ -19,16 +19,18 @@ extern struct magicvar __barebox_magicvar_end;
#endif
#ifdef CONFIG_CMD_MAGICVAR
-#define BAREBOX_MAGICVAR_NAMED(_name, _varname, _description) \
-extern const struct magicvar __barebox_magicvar_##_name; \
-const struct magicvar __barebox_magicvar_##_name \
+#define __BAREBOX_MAGICVAR_NAMED(_name, _varname, _description) \
+static const struct magicvar _name \
__attribute__ ((unused,section (".barebox_magicvar_" __stringify(_name)))) = { \
.name = #_varname, \
.description = MAGICVAR_DESCRIPTION(_description), \
};
+#define BAREBOX_MAGICVAR_NAMED(_name, _varname, _description) \
+ __BAREBOX_MAGICVAR_NAMED(__barebox_magicvar_##_name, _varname, _description)
+
#define BAREBOX_MAGICVAR(_name, _description) \
- BAREBOX_MAGICVAR_NAMED(_name, _name, _description)
+ __BAREBOX_MAGICVAR_NAMED(__UNIQUE_ID(magicvar), _name, _description)
#else
#define BAREBOX_MAGICVAR_NAMED(_name, _varname, _description)
#define BAREBOX_MAGICVAR(_name, _description)
--
2.28.0
More information about the barebox
mailing list