summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2016-11-14 12:35:49 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2016-11-14 12:35:49 +0100
commitf772aa92c2c04d73c8dfc7f313af0877808ae16a (patch)
treef7317e76d1326f0d0cde019cf49fe243888f9f05 /common
parent7e33e8c076e7681b09b70641ab6783098ff99e69 (diff)
parentee69c588417972185a1a2d72aa553410493791c2 (diff)
downloadbarebox-f772aa92c2c04d73c8dfc7f313af0877808ae16a.tar.gz
barebox-f772aa92c2c04d73c8dfc7f313af0877808ae16a.tar.xz
Merge branch 'for-next/misc'
Diffstat (limited to 'common')
-rw-r--r--common/globalvar.c28
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;
+}