summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2014-11-05 15:47:39 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2014-11-05 15:47:39 +0100
commite3c49aac6963901f793f8b5cb48d041d36162bcf (patch)
tree55fbb5b8f1b62b7e3c3cbbe87b122945e7b9ae90 /lib
parenta407a4ddaac41819948d16f5bbaa657974e75654 (diff)
parentf95ce0fff0775c04954ae2e4542308baaa434ac8 (diff)
downloadbarebox-e3c49aac6963901f793f8b5cb48d041d36162bcf.tar.gz
barebox-e3c49aac6963901f793f8b5cb48d041d36162bcf.tar.xz
Merge branch 'for-next/misc'
Diffstat (limited to 'lib')
-rw-r--r--lib/parameter.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/parameter.c b/lib/parameter.c
index c4c30ca7ea..bcdb16b4e6 100644
--- a/lib/parameter.c
+++ b/lib/parameter.c
@@ -160,7 +160,7 @@ static int __dev_add_param(struct param_d *param, struct device_d *dev, const ch
* expect the parameter value to be a string which can be freed with free(). Do
* not use static arrays when using the generic functions.
*/
-int dev_add_param(struct device_d *dev, const char *name,
+struct param_d *dev_add_param(struct device_d *dev, const char *name,
int (*set)(struct device_d *dev, struct param_d *p, const char *val),
const char *(*get)(struct device_d *dev, struct param_d *param),
unsigned long flags)
@@ -171,10 +171,12 @@ int dev_add_param(struct device_d *dev, const char *name,
param = xzalloc(sizeof(*param));
ret = __dev_add_param(param, dev, name, set, get, flags);
- if (ret)
+ if (ret) {
free(param);
+ return ERR_PTR(ret);
+ }
- return ret;
+ return param;
}
/**