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: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
bec84da8d1
commit
9426998ce6
|
@ -718,7 +718,8 @@ static void pset_free_set(struct property_set *pset)
|
|||
static int pset_copy_entry(struct property_entry *dst,
|
||||
const struct property_entry *src)
|
||||
{
|
||||
const char **d, **s;
|
||||
const char * const *s;
|
||||
char **d;
|
||||
size_t i, nval;
|
||||
|
||||
dst->name = kstrdup(src->name, GFP_KERNEL);
|
||||
|
@ -731,12 +732,11 @@ static int pset_copy_entry(struct property_entry *dst,
|
|||
|
||||
if (src->is_string) {
|
||||
nval = src->length / sizeof(const char *);
|
||||
dst->pointer.str = kcalloc(nval, sizeof(const char *),
|
||||
GFP_KERNEL);
|
||||
if (!dst->pointer.str)
|
||||
d = kcalloc(nval, sizeof(const char *), GFP_KERNEL);
|
||||
if (!d)
|
||||
return -ENOMEM;
|
||||
|
||||
d = dst->pointer.str;
|
||||
dst->pointer.raw_data = d;
|
||||
s = src->pointer.str;
|
||||
for (i = 0; i < nval; i++) {
|
||||
d[i] = kstrdup(s[i], GFP_KERNEL);
|
||||
|
|
|
@ -160,12 +160,12 @@ struct property_entry {
|
|||
bool is_string;
|
||||
union {
|
||||
union {
|
||||
void *raw_data;
|
||||
u8 *u8_data;
|
||||
u16 *u16_data;
|
||||
u32 *u32_data;
|
||||
u64 *u64_data;
|
||||
const char **str;
|
||||
const void *raw_data;
|
||||
const u8 *u8_data;
|
||||
const u16 *u16_data;
|
||||
const u32 *u32_data;
|
||||
const u64 *u64_data;
|
||||
const char * const *str;
|
||||
} pointer;
|
||||
union {
|
||||
unsigned long long raw_data;
|
||||
|
|
Loading…
Reference in New Issue