summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2020-10-01 08:53:48 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2020-10-02 05:47:18 +0200
commita6b630f139416a05b158b6368cb9ee99738b20f4 (patch)
treeb4f55ef06023a42b1b532e1989b7ecc99f7d6960 /include
parentd877a4436bb960e6b942510c3de37b9bd048c1ba (diff)
downloadbarebox-a6b630f139416a05b158b6368cb9ee99738b20f4.tar.gz
barebox-a6b630f139416a05b158b6368cb9ee99738b20f4.tar.xz
magicvar: Use __UNIQUE_ID to generate name
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@pengutronix.de>
Diffstat (limited to 'include')
-rw-r--r--include/magicvar.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/include/magicvar.h b/include/magicvar.h
index 9fb89a84cc..a2da994faa 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 \
- __attribute__ ((unused,section (".barebox_magicvar_" __stringify(_name)))) = { \
+#define __BAREBOX_MAGICVAR_NAMED(_name, _varname, _description) \
+static const struct magicvar _name \
+ __attribute__ ((used,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)