diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2011-11-29 20:52:03 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-11-29 20:52:03 +0100 |
commit | 7631e76c0b472e95c908866d26883b019657636d (patch) | |
tree | c177100f2ed9f13ca33ec159bbf69b6114d0c23b /include | |
parent | e0f4fb2c982d66210dfd5ffaf92912bf1c6c6586 (diff) | |
parent | 7766c288ff6e6defd7565af73a3407c3c414eb94 (diff) | |
download | barebox-7631e76c0b472e95c908866d26883b019657636d.tar.gz barebox-7631e76c0b472e95c908866d26883b019657636d.tar.xz |
Merge branch 'work/magicvars' into next
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-generic/barebox.lds.h | 2 | ||||
-rw-r--r-- | include/magicvar.h | 32 |
2 files changed, 34 insertions, 0 deletions
diff --git a/include/asm-generic/barebox.lds.h b/include/asm-generic/barebox.lds.h index 8aee5d2ce4..5467d3a8a0 100644 --- a/include/asm-generic/barebox.lds.h +++ b/include/asm-generic/barebox.lds.h @@ -24,3 +24,5 @@ #define BAREBOX_CMDS KEEP(*(SORT_BY_NAME(.barebox_cmd*))) #define BAREBOX_SYMS KEEP(*(__usymtab)) + +#define BAREBOX_MAGICVARS KEEP(*(SORT_BY_NAME(.barebox_magicvar*))) diff --git a/include/magicvar.h b/include/magicvar.h new file mode 100644 index 0000000000..d27a2e32a3 --- /dev/null +++ b/include/magicvar.h @@ -0,0 +1,32 @@ +#ifndef __MAGIC_VARS_H +#define __MAGIC_VARS_H + +#include <linux/stringify.h> + +struct magicvar { + const char *name; + const char *description; +}; + +extern struct magicvar __barebox_magicvar_start; +extern struct magicvar __barebox_magicvar_end; + +#ifdef CONFIG_CMD_MAGICVAR_HELP +#define MAGICVAR_DESCRIPTION(d) (d) +#else +#define MAGICVAR_DESCRIPTION(d) NULL +#endif + +#ifdef CONFIG_CMD_MAGICVAR +#define BAREBOX_MAGICVAR(_name, _description) \ +extern const struct magicvar __barebox_magicvar_##_name; \ +const struct magicvar __barebox_magicvar_##_name \ + __attribute__ ((unused,section (".barebox_magicvar_" __stringify(_name)))) = { \ + .name = #_name, \ + .description = MAGICVAR_DESCRIPTION(_description), \ +}; +#else +#define BAREBOX_MAGICVAR(_name, _description) +#endif + +#endif /* __MAGIC_VARS_H */ |