diff options
author | Lee Jones <lee.jones@linaro.org> | 2012-05-05 04:38:19 -0700 |
---|---|---|
committer | Anton Vorontsov <anton.vorontsov@linaro.org> | 2012-05-05 04:55:50 -0700 |
commit | 2aac3de19b72608f474c90034185c2be4908728f (patch) | |
tree | af227c50daa395e186f79bbd7507a69860ee9f0b /drivers/power/ab8500_fg.c | |
parent | 5f98eb393c6d7a5de3202b7ce9e4439292e952fb (diff) | |
download | lwn-2aac3de19b72608f474c90034185c2be4908728f.tar.gz lwn-2aac3de19b72608f474c90034185c2be4908728f.zip |
ab8500: Clean up probe routines
These patches clean up some ugliness and brings the variable
initialisation formatting more into line with other drivers.
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>
Diffstat (limited to 'drivers/power/ab8500_fg.c')
-rw-r--r-- | drivers/power/ab8500_fg.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/power/ab8500_fg.c b/drivers/power/ab8500_fg.c index 0ebea39e73fe..bf022255994c 100644 --- a/drivers/power/ab8500_fg.c +++ b/drivers/power/ab8500_fg.c @@ -2446,10 +2446,15 @@ static int __devinit ab8500_fg_probe(struct platform_device *pdev) { int i, irq; int ret = 0; - struct abx500_bm_plat_data *plat_data; + struct abx500_bm_plat_data *plat_data = pdev->dev.platform_data; + struct ab8500_fg *di; + + if (!plat_data) { + dev_err(&pdev->dev, "No platform data\n"); + return -EINVAL; + } - struct ab8500_fg *di = - kzalloc(sizeof(struct ab8500_fg), GFP_KERNEL); + di = kzalloc(sizeof(*di), GFP_KERNEL); if (!di) return -ENOMEM; @@ -2461,13 +2466,12 @@ static int __devinit ab8500_fg_probe(struct platform_device *pdev) di->gpadc = ab8500_gpadc_get("ab8500-gpadc.0"); /* get fg specific platform data */ - plat_data = pdev->dev.platform_data; - if (!plat_data || !plat_data->fg) { + di->pdata = plat_data->fg; + if (!di->pdata) { dev_err(di->dev, "no fg platform data supplied\n"); ret = -EINVAL; goto free_device_info; } - di->pdata = plat_data->fg; /* get battery specific platform data */ di->bat = plat_data->battery; |