diff options
author | Laxman Dewangan <ldewangan@nvidia.com> | 2011-08-25 18:24:32 +0530 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-08-26 15:21:30 -0700 |
commit | 42172b0c0f3a53ef645c08223479422256ef25a4 (patch) | |
tree | 69c05f6f4ad4e56c75caeb0f5dd18474f0c57076 /drivers | |
parent | 0a1b4a51e2d4834a7bba8674a28d07ef7de873bb (diff) |
power: tps80031-charger: Check for proper platform data
Checking for valid platform data before registering the driver
as regulator.
bug 868483
Change-Id: I630d55f4e60f296d9e9a05455b97e72186f09e19
Reviewed-on: http://git-master/r/49224
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-by: Thomas Cherry <tcherry@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/power/tps80031-charger.c | 11 |
1 files changed, 11 insertions, 0 deletions
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"); |