* [PATCH 0/2 v2] Cleanup battery driver for jz4740
@ 2012-10-22 1:13 Marcos Paulo de Souza
2012-10-22 1:13 ` [PATCH 1/2 v2] drivers: power: jz4740-battery: Use devm_kzalloc instead of kzalloc/kfree Marcos Paulo de Souza
2012-10-22 1:13 ` [PATCH 2/2 v2] drivers: power: jz4740_battery: Use devm_request_and_ioremap Marcos Paulo de Souza
0 siblings, 2 replies; 4+ messages in thread
From: Marcos Paulo de Souza @ 2012-10-22 1:13 UTC (permalink / raw)
To: lars, cbou, dwmw2; +Cc: linux-kernel, Marcos Paulo de Souza
Hi guys,
This is the second attempt for clean of the battery driver
of jz4740.
Changelog:
Path 1/2: Is the same, just added the Acked-by from
Lars Peter-Clausen
Path 2/2: use devm_request_and_ioremap, suggested by
Lars Petr-Clausen
The third patch about irqs sent before was droped. This will
be reworked in the next patches.
I hope you enjoy :)
Marcos Paulo de Souza (2):
drivers: power: jz4740-battery: Use devm_kzalloc instead of
kzalloc/kfree
drivers: power: jz4740_battery: Use devm_request_and_ioremap
drivers/power/jz4740-battery.c | 35 ++++++++---------------------------
1 file changed, 8 insertions(+), 27 deletions(-)
--
1.7.9.5
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH 1/2 v2] drivers: power: jz4740-battery: Use devm_kzalloc instead of kzalloc/kfree 2012-10-22 1:13 [PATCH 0/2 v2] Cleanup battery driver for jz4740 Marcos Paulo de Souza @ 2012-10-22 1:13 ` Marcos Paulo de Souza 2012-10-22 1:13 ` [PATCH 2/2 v2] drivers: power: jz4740_battery: Use devm_request_and_ioremap Marcos Paulo de Souza 1 sibling, 0 replies; 4+ messages in thread From: Marcos Paulo de Souza @ 2012-10-22 1:13 UTC (permalink / raw) To: lars, cbou, dwmw2; +Cc: linux-kernel, Marcos Paulo de Souza Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de> --- No changes from v1. drivers/power/jz4740-battery.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/power/jz4740-battery.c b/drivers/power/jz4740-battery.c index 8dbc7bf..59900c6 100644 --- a/drivers/power/jz4740-battery.c +++ b/drivers/power/jz4740-battery.c @@ -252,7 +252,7 @@ static int __devinit jz_battery_probe(struct platform_device *pdev) return -ENXIO; } - jz_battery = kzalloc(sizeof(*jz_battery), GFP_KERNEL); + jz_battery = devm_kzalloc(&pdev->dev, sizeof(*jz_battery), GFP_KERNEL); if (!jz_battery) { dev_err(&pdev->dev, "Failed to allocate driver structure\n"); return -ENOMEM; @@ -262,24 +262,21 @@ static int __devinit jz_battery_probe(struct platform_device *pdev) jz_battery->irq = platform_get_irq(pdev, 0); if (jz_battery->irq < 0) { - ret = jz_battery->irq; dev_err(&pdev->dev, "Failed to get platform irq: %d\n", ret); - goto err_free; + return jz_battery->irq; } jz_battery->mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!jz_battery->mem) { - ret = -ENOENT; dev_err(&pdev->dev, "Failed to get platform mmio resource\n"); - goto err_free; + return -ENOENT; } jz_battery->mem = request_mem_region(jz_battery->mem->start, resource_size(jz_battery->mem), pdev->name); if (!jz_battery->mem) { - ret = -EBUSY; dev_err(&pdev->dev, "Failed to request mmio memory region\n"); - goto err_free; + return -EBUSY; } jz_battery->base = ioremap_nocache(jz_battery->mem->start, @@ -373,8 +370,6 @@ err_iounmap: iounmap(jz_battery->base); err_release_mem_region: release_mem_region(jz_battery->mem->start, resource_size(jz_battery->mem)); -err_free: - kfree(jz_battery); return ret; } @@ -396,7 +391,6 @@ static int __devexit jz_battery_remove(struct platform_device *pdev) iounmap(jz_battery->base); release_mem_region(jz_battery->mem->start, resource_size(jz_battery->mem)); - kfree(jz_battery); return 0; } -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2 v2] drivers: power: jz4740_battery: Use devm_request_and_ioremap 2012-10-22 1:13 [PATCH 0/2 v2] Cleanup battery driver for jz4740 Marcos Paulo de Souza 2012-10-22 1:13 ` [PATCH 1/2 v2] drivers: power: jz4740-battery: Use devm_kzalloc instead of kzalloc/kfree Marcos Paulo de Souza @ 2012-10-22 1:13 ` Marcos Paulo de Souza 2012-10-22 7:00 ` Lars-Peter Clausen 1 sibling, 1 reply; 4+ messages in thread From: Marcos Paulo de Souza @ 2012-10-22 1:13 UTC (permalink / raw) To: lars, cbou, dwmw2; +Cc: linux-kernel, Marcos Paulo de Souza And remove all checks abvout request_mem_region and ioremap. This is just a cleanup. Not functional changes here. Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com> --- drivers/power/jz4740-battery.c | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/drivers/power/jz4740-battery.c b/drivers/power/jz4740-battery.c index 59900c6..1df7be8 100644 --- a/drivers/power/jz4740-battery.c +++ b/drivers/power/jz4740-battery.c @@ -272,19 +272,12 @@ static int __devinit jz_battery_probe(struct platform_device *pdev) return -ENOENT; } - jz_battery->mem = request_mem_region(jz_battery->mem->start, - resource_size(jz_battery->mem), pdev->name); - if (!jz_battery->mem) { - dev_err(&pdev->dev, "Failed to request mmio memory region\n"); - return -EBUSY; - } + jz_battery->base = devm_request_and_ioremap(&pdev->dev + , jz_battery->mem); - jz_battery->base = ioremap_nocache(jz_battery->mem->start, - resource_size(jz_battery->mem)); if (!jz_battery->base) { - ret = -EBUSY; dev_err(&pdev->dev, "Failed to ioremap mmio memory\n"); - goto err_release_mem_region; + return -EBUSY; } battery = &jz_battery->battery; @@ -308,7 +301,7 @@ static int __devinit jz_battery_probe(struct platform_device *pdev) jz_battery); if (ret) { dev_err(&pdev->dev, "Failed to request irq %d\n", ret); - goto err_iounmap; + goto err_irq; } disable_irq(jz_battery->irq); @@ -365,11 +358,8 @@ err_free_gpio: gpio_free(jz_battery->pdata->gpio_charge); err_free_irq: free_irq(jz_battery->irq, jz_battery); -err_iounmap: +err_irq: platform_set_drvdata(pdev, NULL); - iounmap(jz_battery->base); -err_release_mem_region: - release_mem_region(jz_battery->mem->start, resource_size(jz_battery->mem)); return ret; } @@ -389,9 +379,6 @@ static int __devexit jz_battery_remove(struct platform_device *pdev) free_irq(jz_battery->irq, jz_battery); - iounmap(jz_battery->base); - release_mem_region(jz_battery->mem->start, resource_size(jz_battery->mem)); - return 0; } -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2 v2] drivers: power: jz4740_battery: Use devm_request_and_ioremap 2012-10-22 1:13 ` [PATCH 2/2 v2] drivers: power: jz4740_battery: Use devm_request_and_ioremap Marcos Paulo de Souza @ 2012-10-22 7:00 ` Lars-Peter Clausen 0 siblings, 0 replies; 4+ messages in thread From: Lars-Peter Clausen @ 2012-10-22 7:00 UTC (permalink / raw) To: Marcos Paulo de Souza; +Cc: cbou, dwmw2, linux-kernel On 10/22/2012 03:13 AM, Marcos Paulo de Souza wrote: > And remove all checks abvout request_mem_region and ioremap. > This is just a cleanup. Not functional changes here. > > Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com> Thanks, looks almost good. But you could also have removed the check and error message after platform_get_resource since devm_request_and_ioremap also does this internally. Also you can remove the mem field from jz_battery struct since it now only is used in the probe function. > --- > drivers/power/jz4740-battery.c | 23 +++++------------------ > 1 file changed, 5 insertions(+), 18 deletions(-) > > diff --git a/drivers/power/jz4740-battery.c b/drivers/power/jz4740-battery.c > index 59900c6..1df7be8 100644 > --- a/drivers/power/jz4740-battery.c > +++ b/drivers/power/jz4740-battery.c > @@ -272,19 +272,12 @@ static int __devinit jz_battery_probe(struct platform_device *pdev) > return -ENOENT; > } > > - jz_battery->mem = request_mem_region(jz_battery->mem->start, > - resource_size(jz_battery->mem), pdev->name); > - if (!jz_battery->mem) { > - dev_err(&pdev->dev, "Failed to request mmio memory region\n"); > - return -EBUSY; > - } > + jz_battery->base = devm_request_and_ioremap(&pdev->dev > + , jz_battery->mem); The comma should go on the previous line, after the dev. > > - jz_battery->base = ioremap_nocache(jz_battery->mem->start, > - resource_size(jz_battery->mem)); > if (!jz_battery->base) { > - ret = -EBUSY; > dev_err(&pdev->dev, "Failed to ioremap mmio memory\n"); > - goto err_release_mem_region; > + return -EBUSY; > } > > battery = &jz_battery->battery; > @@ -308,7 +301,7 @@ static int __devinit jz_battery_probe(struct platform_device *pdev) > jz_battery); > if (ret) { > dev_err(&pdev->dev, "Failed to request irq %d\n", ret); > - goto err_iounmap; > + goto err_irq; > } > disable_irq(jz_battery->irq); > > @@ -365,11 +358,8 @@ err_free_gpio: > gpio_free(jz_battery->pdata->gpio_charge); > err_free_irq: > free_irq(jz_battery->irq, jz_battery); > -err_iounmap: > +err_irq: > platform_set_drvdata(pdev, NULL); > - iounmap(jz_battery->base); > -err_release_mem_region: > - release_mem_region(jz_battery->mem->start, resource_size(jz_battery->mem)); > return ret; > } > > @@ -389,9 +379,6 @@ static int __devexit jz_battery_remove(struct platform_device *pdev) > > free_irq(jz_battery->irq, jz_battery); > > - iounmap(jz_battery->base); > - release_mem_region(jz_battery->mem->start, resource_size(jz_battery->mem)); > - > return 0; > } > ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-10-22 7:00 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-10-22 1:13 [PATCH 0/2 v2] Cleanup battery driver for jz4740 Marcos Paulo de Souza 2012-10-22 1:13 ` [PATCH 1/2 v2] drivers: power: jz4740-battery: Use devm_kzalloc instead of kzalloc/kfree Marcos Paulo de Souza 2012-10-22 1:13 ` [PATCH 2/2 v2] drivers: power: jz4740_battery: Use devm_request_and_ioremap Marcos Paulo de Souza 2012-10-22 7:00 ` Lars-Peter Clausen
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.