aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2012-04-09 22:32:49 +0800
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-04-10 11:04:26 +0100
commit5ade39358f0244a0672860766eed92e8c908b805 (patch)
tree6a8146beb7a0e542b2115de1579badd95d4f69fa
parent2e42a7dc407163dd99ab5741b6fd167877708623 (diff)
downloadkernel_goldelico_gta04-5ade39358f0244a0672860766eed92e8c908b805.zip
kernel_goldelico_gta04-5ade39358f0244a0672860766eed92e8c908b805.tar.gz
kernel_goldelico_gta04-5ade39358f0244a0672860766eed92e8c908b805.tar.bz2
regulator: twl-regulator: Simplify the code matching regulator id
This patch makes the code easier to read. Also add checking the case when no desc id is matched. This is required because if no desc id is matched, the poiner info is pointed to twl_of_match[i].data which may be not NULL. Checking info is NULL or not latter does not catch the error. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r--drivers/regulator/twl-regulator.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/regulator/twl-regulator.c b/drivers/regulator/twl-regulator.c
index 9cf6f59d..88bc32b 100644
--- a/drivers/regulator/twl-regulator.c
+++ b/drivers/regulator/twl-regulator.c
@@ -1189,10 +1189,12 @@ static int __devinit twlreg_probe(struct platform_device *pdev)
initdata = pdev->dev.platform_data;
for (i = 0, info = NULL; i < ARRAY_SIZE(twl_of_match); i++) {
info = twl_of_match[i].data;
- if (!info || info->desc.id != id)
- continue;
- break;
+ if (info && info->desc.id == id)
+ break;
}
+ if (i == ARRAY_SIZE(twl_of_match))
+ return -ENODEV;
+
drvdata = initdata->driver_data;
if (!drvdata)
return -EINVAL;