From cfd479064657aab7d193b733779ed6ed0725d6c7 Mon Sep 17 00:00:00 2001 From: Axel Lin Date: Sun, 15 Jul 2012 16:57:12 +0800 Subject: [PATCH] --- yaml --- r: 312641 b: refs/heads/master c: 5bae062830b57e75a00f1a643a6e031ad0f15129 h: refs/heads/master i: 312639: 033095617614590a9d500681ba2f60a9cd7835e3 v: v3 --- [refs] | 2 +- trunk/drivers/regulator/lp872x.c | 28 +++++++--------------------- 2 files changed, 8 insertions(+), 22 deletions(-) diff --git a/[refs] b/[refs] index 322497e5a967..b7d58f7c0d27 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c6a717c9d740ec8f5bd134ac8c75b1b7c0666ff8 +refs/heads/master: 5bae062830b57e75a00f1a643a6e031ad0f15129 diff --git a/trunk/drivers/regulator/lp872x.c b/trunk/drivers/regulator/lp872x.c index 471f8e82be41..212c38eaba70 100644 --- a/trunk/drivers/regulator/lp872x.c +++ b/trunk/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;