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 dm_regulator_uclass_platdata *uc_pdata;
|
||||||
struct gpio_regulator_platdata *dev_pdata;
|
struct gpio_regulator_platdata *dev_pdata;
|
||||||
struct gpio_desc *gpio;
|
struct gpio_desc *gpio;
|
||||||
const void *blob = gd->fdt_blob;
|
int ret, len, i, j;
|
||||||
int ret, count, i, j;
|
|
||||||
u32 states_array[8];
|
u32 states_array[8];
|
||||||
|
|
||||||
dev_pdata = dev_get_platdata(dev);
|
dev_pdata = dev_get_platdata(dev);
|
||||||
|
|
@ -53,15 +52,17 @@ static int gpio_regulator_ofdata_to_platdata(struct udevice *dev)
|
||||||
if (ret)
|
if (ret)
|
||||||
debug("regulator gpio - not found! Error: %d", ret);
|
debug("regulator gpio - not found! Error: %d", ret);
|
||||||
|
|
||||||
blob = dev_read_prop(dev, "states", &count);
|
len = dev_read_size(dev, "states");
|
||||||
if (!blob)
|
if (len < 0)
|
||||||
return -EINVAL;
|
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)
|
if (ret)
|
||||||
return -EINVAL;
|
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->voltages[j] = states_array[i];
|
||||||
dev_pdata->states[j] = states_array[i + 1];
|
dev_pdata->states[j] = states_array[i + 1];
|
||||||
j++;
|
j++;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue