|
@@ -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;
|
|
|
}
|
|
|
|