summaryrefslogtreecommitdiffstats
path: root/drivers/power
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2012-04-13 10:15:49 +0200
committerAnton Vorontsov <anton.vorontsov@linaro.org>2012-05-05 03:58:04 -0700
commitcc28e17100a6b051ef966de81bb2d4a97b2a6645 (patch)
treef156326e17695571ec30fd00e73962c67f71fbf5 /drivers/power
parent8cd725a1de1df8e5a2d694abc1e6b6aad5ce7d06 (diff)
downloadlinux-cc28e17100a6b051ef966de81bb2d4a97b2a6645.tar.gz
linux-cc28e17100a6b051ef966de81bb2d4a97b2a6645.tar.bz2
linux-cc28e17100a6b051ef966de81bb2d4a97b2a6645.zip
ab8500_charger: Harden platform data check
If no platform data at all is supplied the driver crashes, extend the checks to be more careful so we can compile in the driver and boot also without platform data present. Acked-by: Arun Murthy <arun.murthy@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>
Diffstat (limited to 'drivers/power')
-rw-r--r--drivers/power/ab8500_charger.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/power/ab8500_charger.c b/drivers/power/ab8500_charger.c
index e2b4accbec88..79dc584a53ed 100644
--- a/drivers/power/ab8500_charger.c
+++ b/drivers/power/ab8500_charger.c
@@ -2551,13 +2551,12 @@ static int __devinit ab8500_charger_probe(struct platform_device *pdev)
/* get charger specific platform data */
plat_data = pdev->dev.platform_data;
- di->pdata = plat_data->charger;
-
- if (!di->pdata) {
+ if (!plat_data || !plat_data->charger) {
dev_err(di->dev, "no charger platform data supplied\n");
ret = -EINVAL;
goto free_device_info;
}
+ di->pdata = plat_data->charger;
/* get battery specific platform data */
di->bat = plat_data->battery;