diff options
Diffstat (limited to 'common/state/state_variables.c')
-rw-r--r-- | common/state/state_variables.c | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/common/state/state_variables.c b/common/state/state_variables.c index 6a00c82203..77946206cd 100644 --- a/common/state/state_variables.c +++ b/common/state/state_variables.c @@ -21,7 +21,7 @@ #include <linux/types.h> #include <malloc.h> #include <net.h> -#include <printk.h> +#include <linux/printk.h> #include <of.h> #include <stdio.h> @@ -116,7 +116,6 @@ static struct state_variable *state_uint8_create(struct state *state, return ERR_CAST(param); } - su32->param = param; su32->var.type = vtype; su32->var.size = sizeof(uint8_t); #ifdef __LITTLE_ENDIAN @@ -146,7 +145,6 @@ static struct state_variable *state_uint32_create(struct state *state, return ERR_CAST(param); } - su32->param = param; su32->var.type = vtype; su32->var.size = sizeof(uint32_t); su32->var.raw = &su32->value; @@ -182,6 +180,8 @@ static int state_enum32_export(struct state_variable *var, str += sprintf(str, "%s", enum32->names[i]) + 1; ret = of_set_property(node, "names", prop, len, 1); + if (ret) + return ret; free(prop); @@ -226,6 +226,7 @@ static struct state_variable *state_enum32_create(struct state *state, const struct variable_type *vtype) { struct state_enum32 *enum32; + struct param_d *param; int ret, i, num_names; enum32 = xzalloc(sizeof(*enum32)); @@ -253,16 +254,17 @@ static struct state_variable *state_enum32_create(struct state *state, enum32->names[i] = xstrdup(name); } - enum32->param = dev_add_param_enum(&state->dev, name, state_set_dirty, + param = dev_add_param_enum(&state->dev, name, state_set_dirty, NULL, &enum32->value, enum32->names, num_names, &enum32->var); - if (IS_ERR(enum32->param)) { - ret = PTR_ERR(enum32->param); + if (IS_ERR(param)) { + ret = PTR_ERR(param); goto out; } return &enum32->var; - out: for (i--; i >= 0; i--) +out: + for (i--; i >= 0; i--) free((char *)enum32->names[i]); free(enum32->names); free(enum32); @@ -310,6 +312,7 @@ static struct state_variable *state_mac_create(struct state *state, const struct variable_type *vtype) { struct state_mac *mac; + struct param_d *param; int ret; mac = xzalloc(sizeof(*mac)); @@ -319,15 +322,16 @@ static struct state_variable *state_mac_create(struct state *state, mac->var.raw = mac->value; mac->var.state = state; - mac->param = dev_add_param_mac(&state->dev, name, state_set_dirty, + param = dev_add_param_mac(&state->dev, name, state_set_dirty, NULL, mac->value, &mac->var); - if (IS_ERR(mac->param)) { - ret = PTR_ERR(mac->param); + if (IS_ERR(param)) { + ret = PTR_ERR(param); goto out; } return &mac->var; - out: free(mac); +out: + free(mac); return ERR_PTR(ret); } @@ -413,6 +417,7 @@ static struct state_variable *state_string_create(struct state *state, { struct state_string *string; uint32_t start_size[2]; + struct param_d *param; int ret; ret = of_property_read_u32_array(node, "reg", start_size, @@ -432,16 +437,17 @@ static struct state_variable *state_string_create(struct state *state, string->var.raw = &string->raw; string->var.state = state; - string->param = dev_add_param_string(&state->dev, name, + param = dev_add_param_string(&state->dev, name, state_string_set, state_string_get, &string->value, &string->var); - if (IS_ERR(string->param)) { - ret = PTR_ERR(string->param); + if (IS_ERR(param)) { + ret = PTR_ERR(param); goto out; } return &string->var; - out: free(string); +out: + free(string); return ERR_PTR(ret); } |