diff options
Diffstat (limited to 'drivers/power/ab8500_fg.c')
| -rw-r--r-- | drivers/power/ab8500_fg.c | 12 | 
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/power/ab8500_fg.c b/drivers/power/ab8500_fg.c index c22f2f05657..bf022255994 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,7 +2466,6 @@ 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;  	di->pdata = plat_data->fg;  	if (!di->pdata) {  		dev_err(di->dev, "no fg platform data supplied\n");  |