regulator: lp872x: Simplify implementation of lp872x_find_regulator_init_data()
Pass regulator id rahter than the index to lp872x_find_regulator_init_data(), then the code can be simpler. We can also get max_regulators by lp->num_regulators. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Milo(Woogyom) Kim <milo.kim@ti.com> Tested-by: Milo(Woogyom) Kim <milo.kim@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
c6a717c9d7
commit
5bae062830
|
@ -796,30 +796,16 @@ static int lp872x_config(struct lp872x *lp)
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct regulator_init_data
|
static struct regulator_init_data
|
||||||
*lp872x_find_regulator_init_data(int idx, struct lp872x *lp)
|
*lp872x_find_regulator_init_data(int id, struct lp872x *lp)
|
||||||
{
|
{
|
||||||
int i, base, id, max_regulators;
|
int i;
|
||||||
|
|
||||||
switch (lp->chipid) {
|
for (i = 0; i < lp->num_regulators; i++) {
|
||||||
case LP8720:
|
if (lp->pdata->regulator_data[i].id == id)
|
||||||
base = LP8720_ID_BASE;
|
return lp->pdata->regulator_data[i].init_data;
|
||||||
max_regulators = LP8720_NUM_REGULATORS;
|
|
||||||
break;
|
|
||||||
case LP8725:
|
|
||||||
base = LP8725_ID_BASE;
|
|
||||||
max_regulators = LP8725_NUM_REGULATORS;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
id = base + idx;
|
return NULL;
|
||||||
for (i = 0 ; i < max_regulators ; i++)
|
|
||||||
if (lp->pdata->regulator_data[i].id == id)
|
|
||||||
break;
|
|
||||||
|
|
||||||
return (i == max_regulators) ? NULL :
|
|
||||||
lp->pdata->regulator_data[i].init_data;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int lp872x_regulator_register(struct lp872x *lp)
|
static int lp872x_regulator_register(struct lp872x *lp)
|
||||||
|
@ -834,7 +820,7 @@ static int lp872x_regulator_register(struct lp872x *lp)
|
||||||
&lp8725_regulator_desc[i];
|
&lp8725_regulator_desc[i];
|
||||||
|
|
||||||
cfg.dev = lp->dev;
|
cfg.dev = lp->dev;
|
||||||
cfg.init_data = lp872x_find_regulator_init_data(i, lp);
|
cfg.init_data = lp872x_find_regulator_init_data(desc->id, lp);
|
||||||
cfg.driver_data = lp;
|
cfg.driver_data = lp;
|
||||||
cfg.regmap = lp->regmap;
|
cfg.regmap = lp->regmap;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue