aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/power/ab8500_charger.c
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2012-04-13 04:15:49 -0400
committerAnton Vorontsov <anton.vorontsov@linaro.org>2012-05-05 06:58:04 -0400
commitcc28e17100a6b051ef966de81bb2d4a97b2a6645 (patch)
treef156326e17695571ec30fd00e73962c67f71fbf5 /drivers/power/ab8500_charger.c
parent8cd725a1de1df8e5a2d694abc1e6b6aad5ce7d06 (diff)
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/ab8500_charger.c')
-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)
2551 2551
2552 /* get charger specific platform data */ 2552 /* get charger specific platform data */
2553 plat_data = pdev->dev.platform_data; 2553 plat_data = pdev->dev.platform_data;
2554 di->pdata = plat_data->charger; 2554 if (!plat_data || !plat_data->charger) {
2555
2556 if (!di->pdata) {
2557 dev_err(di->dev, "no charger platform data supplied\n"); 2555 dev_err(di->dev, "no charger platform data supplied\n");
2558 ret = -EINVAL; 2556 ret = -EINVAL;
2559 goto free_device_info; 2557 goto free_device_info;
2560 } 2558 }
2559 di->pdata = plat_data->charger;
2561 2560
2562 /* get battery specific platform data */ 2561 /* get battery specific platform data */
2563 di->bat = plat_data->battery; 2562 di->bat = plat_data->battery;