diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2016-11-14 12:35:49 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2016-11-14 12:35:49 +0100 |
commit | f772aa92c2c04d73c8dfc7f313af0877808ae16a (patch) | |
tree | f7317e76d1326f0d0cde019cf49fe243888f9f05 /common | |
parent | 7e33e8c076e7681b09b70641ab6783098ff99e69 (diff) | |
parent | ee69c588417972185a1a2d72aa553410493791c2 (diff) | |
download | barebox-f772aa92c2c04d73c8dfc7f313af0877808ae16a.tar.gz barebox-f772aa92c2c04d73c8dfc7f313af0877808ae16a.tar.xz |
Merge branch 'for-next/misc'
Diffstat (limited to 'common')
-rw-r--r-- | common/globalvar.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/common/globalvar.c b/common/globalvar.c index fb69db973a..e75cac96d7 100644 --- a/common/globalvar.c +++ b/common/globalvar.c @@ -626,3 +626,31 @@ static void nv_exit(void) nvvar_save(); } predevshutdown_exitcall(nv_exit); + +static int nv_global_param_complete(struct device_d *dev, struct string_list *sl, + char *instr, int eval) +{ + struct param_d *param; + int len; + + len = strlen(instr); + + list_for_each_entry(param, &dev->parameters, list) { + if (strncmp(instr, param->name, len)) + continue; + + string_list_add_asprintf(sl, "%s%c", + param->name, + eval ? ' ' : '='); + } + + return 0; +} + +int nv_global_complete(struct string_list *sl, char *instr) +{ + nv_global_param_complete(&global_device, sl, instr, 0); + nv_global_param_complete(&nv_device, sl, instr, 0); + + return 0; +} |