mfd: htc-egpio: Convert to managed resources for allocating memory

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
Lee Jones 2013-05-23 16:25:12 +01:00 committed by Samuel Ortiz
parent 099053a497
commit 58645b36b2

View file

@ -270,7 +270,7 @@ static int __init egpio_probe(struct platform_device *pdev)
int ret; int ret;
/* Initialize ei data structure. */ /* Initialize ei data structure. */
ei = kzalloc(sizeof(*ei), GFP_KERNEL); ei = devm_kzalloc(&pdev->dev, sizeof(*ei), GFP_KERNEL);
if (!ei) if (!ei)
return -ENOMEM; return -ENOMEM;
@ -306,7 +306,9 @@ static int __init egpio_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, ei); platform_set_drvdata(pdev, ei);
ei->nchips = pdata->num_chips; ei->nchips = pdata->num_chips;
ei->chip = kzalloc(sizeof(struct egpio_chip) * ei->nchips, GFP_KERNEL); ei->chip = devm_kzalloc(&pdev->dev,
sizeof(struct egpio_chip) * ei->nchips,
GFP_KERNEL);
if (!ei->chip) { if (!ei->chip) {
ret = -ENOMEM; ret = -ENOMEM;
goto fail; goto fail;
@ -361,7 +363,6 @@ static int __init egpio_probe(struct platform_device *pdev)
fail: fail:
printk(KERN_ERR "EGPIO failed to setup\n"); printk(KERN_ERR "EGPIO failed to setup\n");
kfree(ei);
return ret; return ret;
} }
@ -380,8 +381,6 @@ static int __exit egpio_remove(struct platform_device *pdev)
device_init_wakeup(&pdev->dev, 0); device_init_wakeup(&pdev->dev, 0);
} }
iounmap(ei->base_addr); iounmap(ei->base_addr);
kfree(ei->chip);
kfree(ei);
return 0; return 0;
} }