power: regulator: Use dev_read_size in gpio-regulator
Change-Id: Iff2e643d6dad6975fe0838dc439a31ecd5299f41 Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
This commit is contained in:
parent
ec7aa9fc77
commit
fae486e407
|
|
@ -29,8 +29,7 @@ static int gpio_regulator_ofdata_to_platdata(struct udevice *dev)
|
|||
struct dm_regulator_uclass_platdata *uc_pdata;
|
||||
struct gpio_regulator_platdata *dev_pdata;
|
||||
struct gpio_desc *gpio;
|
||||
const void *blob = gd->fdt_blob;
|
||||
int ret, count, i, j;
|
||||
int ret, len, i, j;
|
||||
u32 states_array[8];
|
||||
|
||||
dev_pdata = dev_get_platdata(dev);
|
||||
|
|
@ -53,15 +52,17 @@ static int gpio_regulator_ofdata_to_platdata(struct udevice *dev)
|
|||
if (ret)
|
||||
debug("regulator gpio - not found! Error: %d", ret);
|
||||
|
||||
blob = dev_read_prop(dev, "states", &count);
|
||||
if (!blob)
|
||||
return -EINVAL;
|
||||
len = dev_read_size(dev, "states");
|
||||
if (len < 0)
|
||||
return len;
|
||||
|
||||
ret = dev_read_u32_array(dev, "states", states_array, count / 4);
|
||||
len /= sizeof(fdt32_t);
|
||||
|
||||
ret = dev_read_u32_array(dev, "states", states_array, len);
|
||||
if (ret)
|
||||
return -EINVAL;
|
||||
|
||||
for (i = 0, j = 0; i < count / 4; i += 2) {
|
||||
for (i = 0, j = 0; i < len; i += 2) {
|
||||
dev_pdata->voltages[j] = states_array[i];
|
||||
dev_pdata->states[j] = states_array[i + 1];
|
||||
j++;
|
||||
|
|
|
|||
Loading…
Reference in New Issue