diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-11-05 15:47:39 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-11-05 15:47:39 +0100 |
commit | e3c49aac6963901f793f8b5cb48d041d36162bcf (patch) | |
tree | 55fbb5b8f1b62b7e3c3cbbe87b122945e7b9ae90 /lib | |
parent | a407a4ddaac41819948d16f5bbaa657974e75654 (diff) | |
parent | f95ce0fff0775c04954ae2e4542308baaa434ac8 (diff) | |
download | barebox-e3c49aac6963901f793f8b5cb48d041d36162bcf.tar.gz barebox-e3c49aac6963901f793f8b5cb48d041d36162bcf.tar.xz |
Merge branch 'for-next/misc'
Diffstat (limited to 'lib')
-rw-r--r-- | lib/parameter.c | 8 |
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; } /** |