From f40e14afb7b153d2ef084a8a04e71927f81c15c8 Mon Sep 17 00:00:00 2001 From: Laxman Dewangan Date: Thu, 25 Aug 2011 18:24:32 +0530 Subject: power: tps80031-charger: Check for proper platform data Checking for valid platform data before registering the driver as regulator. bug 868483 Original-Change-Id: I630d55f4e60f296d9e9a05455b97e72186f09e19 Reviewed-on: http://git-master/r/49224 Reviewed-by: Bharat Nihalani Reviewed-by: Laxman Dewangan Tested-by: Laxman Dewangan Reviewed-by: Sachin Nikam Reviewed-by: Thomas Cherry Rebase-Id: Rb2d75be1e54c9260c028a5526dfbf416853628e4 --- drivers/power/tps80031-charger.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'drivers/power') diff --git a/drivers/power/tps80031-charger.c b/drivers/power/tps80031-charger.c index cd449c2a19a7..17207103a75e 100644 --- a/drivers/power/tps80031-charger.c +++ b/drivers/power/tps80031-charger.c @@ -295,6 +295,17 @@ static int tps80031_charger_probe(struct platform_device *pdev) struct tps80031_charger_platform_data *pdata = pdev->dev.platform_data; dev_info(dev, "%s()\n", __func__); + + if (!pdata) { + dev_err(dev, "%s() No platform data, exiting..\n", __func__); + return -ENODEV; + } + + if (!pdata->num_consumer_supplies) { + dev_err(dev, "%s() No consumer supply list, exiting..\n", __func__); + return -ENODEV; + } + charger = kzalloc(sizeof(*charger), GFP_KERNEL); if (!charger) { dev_err(dev, "failed to allocate memory status\n"); -- cgit v1.2.3