lkml.org 
[lkml]   [2012]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subject[PATCH] regulator: lp872x: Simplify implementation of lp872x_find_regulator_init_data()
From
Date
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>
---
drivers/regulator/lp872x.c | 28 +++++++---------------------
1 file changed, 7 insertions(+), 21 deletions(-)

diff --git a/drivers/regulator/lp872x.c b/drivers/regulator/lp872x.c
index 471f8e8..212c38e 100644
--- a/drivers/regulator/lp872x.c
+++ b/drivers/regulator/lp872x.c
@@ -796,30 +796,16 @@ static int lp872x_config(struct lp872x *lp)
}

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;
-
- switch (lp->chipid) {
- case LP8720:
- base = LP8720_ID_BASE;
- max_regulators = LP8720_NUM_REGULATORS;
- break;
- case LP8725:
- base = LP8725_ID_BASE;
- max_regulators = LP8725_NUM_REGULATORS;
- break;
- default:
- return NULL;
- }
+ int i;

- id = base + idx;
- for (i = 0 ; i < max_regulators ; i++)
+ for (i = 0; i < lp->num_regulators; i++) {
if (lp->pdata->regulator_data[i].id == id)
- break;
+ return lp->pdata->regulator_data[i].init_data;
+ }

- return (i == max_regulators) ? NULL :
- lp->pdata->regulator_data[i].init_data;
+ return NULL;
}

static int lp872x_regulator_register(struct lp872x *lp)
@@ -834,7 +820,7 @@ static int lp872x_regulator_register(struct lp872x *lp)
&lp8725_regulator_desc[i];

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.regmap = lp->regmap;

--
1.7.9.5




\
 
 \ /
  Last update: 2012-07-15 11:41    [W:0.044 / U:0.108 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site