Commit 9426998c authored by Dmitry Torokhov's avatar Dmitry Torokhov Committed by Rafael J. Wysocki

device property: constify property arrays values

Data that is fed into property arrays should not be modified, so let's mark
relevant pointers as const. This will allow us making source arrays as
const/__initconst.
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent bec84da8
...@@ -718,7 +718,8 @@ static void pset_free_set(struct property_set *pset) ...@@ -718,7 +718,8 @@ static void pset_free_set(struct property_set *pset)
static int pset_copy_entry(struct property_entry *dst, static int pset_copy_entry(struct property_entry *dst,
const struct property_entry *src) const struct property_entry *src)
{ {
const char **d, **s; const char * const *s;
char **d;
size_t i, nval; size_t i, nval;
dst->name = kstrdup(src->name, GFP_KERNEL); dst->name = kstrdup(src->name, GFP_KERNEL);
...@@ -731,12 +732,11 @@ static int pset_copy_entry(struct property_entry *dst, ...@@ -731,12 +732,11 @@ static int pset_copy_entry(struct property_entry *dst,
if (src->is_string) { if (src->is_string) {
nval = src->length / sizeof(const char *); nval = src->length / sizeof(const char *);
dst->pointer.str = kcalloc(nval, sizeof(const char *), d = kcalloc(nval, sizeof(const char *), GFP_KERNEL);
GFP_KERNEL); if (!d)
if (!dst->pointer.str)
return -ENOMEM; return -ENOMEM;
d = dst->pointer.str; dst->pointer.raw_data = d;
s = src->pointer.str; s = src->pointer.str;
for (i = 0; i < nval; i++) { for (i = 0; i < nval; i++) {
d[i] = kstrdup(s[i], GFP_KERNEL); d[i] = kstrdup(s[i], GFP_KERNEL);
......
...@@ -160,12 +160,12 @@ struct property_entry { ...@@ -160,12 +160,12 @@ struct property_entry {
bool is_string; bool is_string;
union { union {
union { union {
void *raw_data; const void *raw_data;
u8 *u8_data; const u8 *u8_data;
u16 *u16_data; const u16 *u16_data;
u32 *u32_data; const u32 *u32_data;
u64 *u64_data; const u64 *u64_data;
const char **str; const char * const *str;
} pointer; } pointer;
union { union {
unsigned long long raw_data; unsigned long long raw_data;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment