.. | .. |
---|
45 | 45 | int of_read_drc_info_cell(struct property **prop, const __be32 **curval, |
---|
46 | 46 | struct of_drc_info *data) |
---|
47 | 47 | { |
---|
48 | | - const char *p; |
---|
| 48 | + const char *p = (char *)(*curval); |
---|
49 | 49 | const __be32 *p2; |
---|
50 | 50 | |
---|
51 | 51 | if (!data) |
---|
52 | 52 | return -EINVAL; |
---|
53 | 53 | |
---|
54 | 54 | /* Get drc-type:encode-string */ |
---|
55 | | - p = data->drc_type = (char*) (*curval); |
---|
| 55 | + data->drc_type = (char *)p; |
---|
56 | 56 | p = of_prop_next_string(*prop, p); |
---|
57 | 57 | if (!p) |
---|
58 | 58 | return -EINVAL; |
---|
.. | .. |
---|
65 | 65 | |
---|
66 | 66 | /* Get drc-index-start:encode-int */ |
---|
67 | 67 | p2 = (const __be32 *)p; |
---|
68 | | - p2 = of_prop_next_u32(*prop, p2, &data->drc_index_start); |
---|
69 | | - if (!p2) |
---|
70 | | - return -EINVAL; |
---|
| 68 | + data->drc_index_start = be32_to_cpu(*p2); |
---|
71 | 69 | |
---|
72 | 70 | /* Get drc-name-suffix-start:encode-int */ |
---|
73 | 71 | p2 = of_prop_next_u32(*prop, p2, &data->drc_name_suffix_start); |
---|
.. | .. |
---|
90 | 88 | return -EINVAL; |
---|
91 | 89 | |
---|
92 | 90 | /* Should now know end of current entry */ |
---|
93 | | - (*curval) = (void *)p2; |
---|
| 91 | + (*curval) = (void *)(++p2); |
---|
94 | 92 | data->last_drc_index = data->drc_index_start + |
---|
95 | 93 | ((data->num_sequential_elems - 1) * data->sequential_inc); |
---|
96 | 94 | |
---|