| .. | .. |
|---|
| 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 | |
|---|