diff options
Diffstat (limited to 'drivers/mfd/asic3.c')
| -rw-r--r-- | drivers/mfd/asic3.c | 14 | 
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/mfd/asic3.c b/drivers/mfd/asic3.c index 1b15986c01e1..9532f749412f 100644 --- a/drivers/mfd/asic3.c +++ b/drivers/mfd/asic3.c @@ -958,7 +958,8 @@ static int __init asic3_probe(struct platform_device *pdev)  	unsigned long clksel;  	int ret = 0; -	asic = kzalloc(sizeof(struct asic3), GFP_KERNEL); +	asic = devm_kzalloc(&pdev->dev, +			    sizeof(struct asic3), GFP_KERNEL);  	if (asic == NULL) {  		printk(KERN_ERR "kzalloc failed\n");  		return -ENOMEM; @@ -970,16 +971,14 @@ static int __init asic3_probe(struct platform_device *pdev)  	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);  	if (!mem) { -		ret = -ENOMEM;  		dev_err(asic->dev, "no MEM resource\n"); -		goto out_free; +		return -ENOMEM;  	}  	asic->mapping = ioremap(mem->start, resource_size(mem));  	if (!asic->mapping) { -		ret = -ENOMEM;  		dev_err(asic->dev, "Couldn't ioremap\n"); -		goto out_free; +		return -ENOMEM;  	}  	asic->irq_base = pdata->irq_base; @@ -1033,9 +1032,6 @@ static int __init asic3_probe(struct platform_device *pdev)   out_unmap:  	iounmap(asic->mapping); - out_free: -	kfree(asic); -  	return ret;  } @@ -1058,8 +1054,6 @@ static int asic3_remove(struct platform_device *pdev)  	iounmap(asic->mapping); -	kfree(asic); -  	return 0;  }  | 
