diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2016-04-29 10:54:20 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2016-04-29 11:29:25 +0200 |
commit | 941056dad1cb46f200b3268d003460db2bd02604 (patch) | |
tree | 876b2c4d6c17736ac86f8106e53c587acf3c6688 | |
parent | 005cd22b30caa2421f8d142eef4df18f191d7415 (diff) | |
download | barebox-941056dad1cb46f200b3268d003460db2bd02604.tar.gz barebox-941056dad1cb46f200b3268d003460db2bd02604.tar.xz |
globalvar: Allow to remove globalvars
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | common/globalvar.c | 10 | ||||
-rw-r--r-- | include/globalvar.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/common/globalvar.c b/common/globalvar.c index 9a793ac4a9..05c3e798d7 100644 --- a/common/globalvar.c +++ b/common/globalvar.c @@ -33,6 +33,16 @@ int globalvar_add(const char *name, return 0; } +void globalvar_remove(const char *name) +{ + struct param_d *param = get_param_by_name(&global_device, name); + + if (!param) + return; + + dev_remove_param(param); +} + static int nv_save(const char *name, const char *val) { int fd, ret; diff --git a/include/globalvar.h b/include/globalvar.h index e77209bd79..d0c79c07a8 100644 --- a/include/globalvar.h +++ b/include/globalvar.h @@ -14,6 +14,7 @@ int globalvar_add(const char *name, int (*set)(struct device_d *dev, struct param_d *p, const char *val), const char *(*get)(struct device_d *, struct param_d *p), unsigned long flags); +void globalvar_remove(const char *name); char *globalvar_get_match(const char *match, const char *separator); void globalvar_set_match(const char *match, const char *val); |