All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] i2c-s3c2410: Convert to devm_request_and_ioremap()
@ 2012-06-28 12:55 Mark Brown
  2012-07-09 13:52 ` Wolfram Sang
  0 siblings, 1 reply; 5+ messages in thread
From: Mark Brown @ 2012-06-28 12:55 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-samsung-soc, linux-i2c, Mark Brown

A small code saving and less error handling to worry about.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 drivers/i2c/busses/i2c-s3c2410.c |   35 +++++++----------------------------
 1 file changed, 7 insertions(+), 28 deletions(-)

diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
index 7fe8c73..ddd5797 100644
--- a/drivers/i2c/busses/i2c-s3c2410.c
+++ b/drivers/i2c/busses/i2c-s3c2410.c
@@ -78,7 +78,6 @@ struct s3c24xx_i2c {
 	void __iomem		*regs;
 	struct clk		*clk;
 	struct device		*dev;
-	struct resource		*ioarea;
 	struct i2c_adapter	adap;
 
 	struct s3c2410_platform_i2c	*pdata;
@@ -988,25 +987,16 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
 		goto err_clk;
 	}
 
-	i2c->ioarea = request_mem_region(res->start, resource_size(res),
-					 pdev->name);
-
-	if (i2c->ioarea == NULL) {
-		dev_err(&pdev->dev, "cannot request IO\n");
-		ret = -ENXIO;
-		goto err_clk;
-	}
-
-	i2c->regs = ioremap(res->start, resource_size(res));
+	i2c->regs = devm_request_and_ioremap(&pdev->dev, res);
 
 	if (i2c->regs == NULL) {
 		dev_err(&pdev->dev, "cannot map IO\n");
 		ret = -ENXIO;
-		goto err_ioarea;
+		goto err_clk;
 	}
 
-	dev_dbg(&pdev->dev, "registers %p (%p, %p)\n",
-		i2c->regs, i2c->ioarea, res);
+	dev_dbg(&pdev->dev, "registers %p (%p)\n",
+		i2c->regs, res);
 
 	/* setup info block for the i2c core */
 
@@ -1017,7 +1007,7 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
 
 	ret = s3c24xx_i2c_init(i2c);
 	if (ret != 0)
-		goto err_iomap;
+		goto err_clk;
 
 	/* find the IRQ for this unit (note, this relies on the init call to
 	 * ensure no current IRQs pending
@@ -1026,7 +1016,7 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
 	i2c->irq = ret = platform_get_irq(pdev, 0);
 	if (ret <= 0) {
 		dev_err(&pdev->dev, "cannot find IRQ\n");
-		goto err_iomap;
+		goto err_clk;
 	}
 
 	ret = request_irq(i2c->irq, s3c24xx_i2c_irq, 0,
@@ -1034,7 +1024,7 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
 
 	if (ret != 0) {
 		dev_err(&pdev->dev, "cannot claim IRQ %d\n", i2c->irq);
-		goto err_iomap;
+		goto err_clk;
 	}
 
 	ret = s3c24xx_i2c_register_cpufreq(i2c);
@@ -1074,13 +1064,6 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
  err_irq:
 	free_irq(i2c->irq, i2c);
 
- err_iomap:
-	iounmap(i2c->regs);
-
- err_ioarea:
-	release_resource(i2c->ioarea);
-	kfree(i2c->ioarea);
-
  err_clk:
 	clk_disable(i2c->clk);
 	clk_put(i2c->clk);
@@ -1109,11 +1092,7 @@ static int s3c24xx_i2c_remove(struct platform_device *pdev)
 	clk_disable(i2c->clk);
 	clk_put(i2c->clk);
 
-	iounmap(i2c->regs);
-
-	release_resource(i2c->ioarea);
 	s3c24xx_i2c_dt_gpio_free(i2c);
-	kfree(i2c->ioarea);
 
 	return 0;
 }
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] i2c-s3c2410: Convert to devm_request_and_ioremap()
  2012-06-28 12:55 [PATCH] i2c-s3c2410: Convert to devm_request_and_ioremap() Mark Brown
@ 2012-07-09 13:52 ` Wolfram Sang
  2012-07-09 13:58   ` Mark Brown
  0 siblings, 1 reply; 5+ messages in thread
From: Wolfram Sang @ 2012-07-09 13:52 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-samsung-soc, linux-i2c

[-- Attachment #1: Type: text/plain, Size: 421 bytes --]

On Thu, Jun 28, 2012 at 01:55:38PM +0100, Mark Brown wrote:
> A small code saving and less error handling to worry about.
> 
> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

What about devm for the clocks, too?


Thanks,

   Wolfram

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] i2c-s3c2410: Convert to devm_request_and_ioremap()
  2012-07-09 13:52 ` Wolfram Sang
@ 2012-07-09 13:58   ` Mark Brown
  2012-07-13  8:37     ` Wolfram Sang
  0 siblings, 1 reply; 5+ messages in thread
From: Mark Brown @ 2012-07-09 13:58 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-samsung-soc, linux-i2c

[-- Attachment #1: Type: text/plain, Size: 444 bytes --]

On Mon, Jul 09, 2012 at 03:52:29PM +0200, Wolfram Sang wrote:
> On Thu, Jun 28, 2012 at 01:55:38PM +0100, Mark Brown wrote:
> > A small code saving and less error handling to worry about.

> > Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

> What about devm for the clocks, too?

The devm_ versions of the API aren't exported there yet and there's a
bug fix pending too but Russell and Mike have ignored the patches thus
far.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] i2c-s3c2410: Convert to devm_request_and_ioremap()
  2012-07-09 13:58   ` Mark Brown
@ 2012-07-13  8:37     ` Wolfram Sang
  2012-07-13  9:44       ` Mark Brown
  0 siblings, 1 reply; 5+ messages in thread
From: Wolfram Sang @ 2012-07-13  8:37 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-samsung-soc, linux-i2c

[-- Attachment #1: Type: text/plain, Size: 775 bytes --]

On Mon, Jul 09, 2012 at 02:58:10PM +0100, Mark Brown wrote:
> On Mon, Jul 09, 2012 at 03:52:29PM +0200, Wolfram Sang wrote:
> > On Thu, Jun 28, 2012 at 01:55:38PM +0100, Mark Brown wrote:
> > > A small code saving and less error handling to worry about.
> 
> > > Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> 
> > What about devm for the clocks, too?
> 
> The devm_ versions of the API aren't exported there yet and there's a
> bug fix pending too but Russell and Mike have ignored the patches thus
> far.

I'd rather wait for this to be fixed and have all devm applied in one
go?

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] i2c-s3c2410: Convert to devm_request_and_ioremap()
  2012-07-13  8:37     ` Wolfram Sang
@ 2012-07-13  9:44       ` Mark Brown
  0 siblings, 0 replies; 5+ messages in thread
From: Mark Brown @ 2012-07-13  9:44 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-samsung-soc, linux-i2c

[-- Attachment #1: Type: text/plain, Size: 583 bytes --]

On Fri, Jul 13, 2012 at 10:37:12AM +0200, Wolfram Sang wrote:
> On Mon, Jul 09, 2012 at 02:58:10PM +0100, Mark Brown wrote:

> > The devm_ versions of the API aren't exported there yet and there's a
> > bug fix pending too but Russell and Mike have ignored the patches thus
> > far.

> I'd rather wait for this to be fixed and have all devm applied in one
> go?

clkdev is vanishingly unlikely to be fixed this release, the patches
have been languishing in the patch tracker for essentially the entire
release cycle, rmk is on vacation now and Mike doesn't like taking
clkdev stuff.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-07-13  9:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-28 12:55 [PATCH] i2c-s3c2410: Convert to devm_request_and_ioremap() Mark Brown
2012-07-09 13:52 ` Wolfram Sang
2012-07-09 13:58   ` Mark Brown
2012-07-13  8:37     ` Wolfram Sang
2012-07-13  9:44       ` Mark Brown

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.