Skip to content

Commit

Permalink
rtc: rtc-davinci: use devm_kzalloc()
Browse files Browse the repository at this point in the history
Use devm_kzalloc() and remove the error path free and the unload free as
devm functions take care of freeing resources.

Signed-off-by: Devendra Naga <devendra.aaru@gmail.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Miguel Aguilar <miguel.aguilar@ridgerun.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Devendra Naga authored and Linus Torvalds committed Dec 18, 2012
1 parent 9ed39bf commit f288cf4
Showing 1 changed file with 4 additions and 12 deletions.
16 changes: 4 additions & 12 deletions drivers/rtc/rtc-davinci.c
Original file line number Diff line number Diff line change
Expand Up @@ -485,7 +485,7 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
struct resource *res, *mem;
int ret = 0;

davinci_rtc = kzalloc(sizeof(struct davinci_rtc), GFP_KERNEL);
davinci_rtc = devm_kzalloc(&pdev->dev, sizeof(struct davinci_rtc), GFP_KERNEL);
if (!davinci_rtc) {
dev_dbg(dev, "could not allocate memory for private data\n");
return -ENOMEM;
Expand All @@ -494,15 +494,13 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
davinci_rtc->irq = platform_get_irq(pdev, 0);
if (davinci_rtc->irq < 0) {
dev_err(dev, "no RTC irq\n");
ret = davinci_rtc->irq;
goto fail1;
return davinci_rtc->irq;
}

res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res) {
dev_err(dev, "no mem resource\n");
ret = -EINVAL;
goto fail1;
return -EINVAL;
}

davinci_rtc->pbase = res->start;
Expand All @@ -513,8 +511,7 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
if (!mem) {
dev_err(dev, "RTC registers at %08x are not free\n",
davinci_rtc->pbase);
ret = -EBUSY;
goto fail1;
return -EBUSY;
}

davinci_rtc->base = ioremap(davinci_rtc->pbase, davinci_rtc->base_size);
Expand Down Expand Up @@ -567,9 +564,6 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
iounmap(davinci_rtc->base);
fail2:
release_mem_region(davinci_rtc->pbase, davinci_rtc->base_size);
fail1:
kfree(davinci_rtc);

return ret;
}

Expand All @@ -590,8 +584,6 @@ static int __devexit davinci_rtc_remove(struct platform_device *pdev)

platform_set_drvdata(pdev, NULL);

kfree(davinci_rtc);

return 0;
}

Expand Down

0 comments on commit f288cf4

Please sign in to comment.