All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Use resource_size macro
@ 2009-05-06 20:39 Linus Walleij
       [not found] ` <1241642367-14639-1-git-send-email-linus.ml.walleij-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 10+ messages in thread
From: Linus Walleij @ 2009-05-06 20:39 UTC (permalink / raw)
  To: linux-i2c-u79uwXL29TY76Z2rM5mHXA; +Cc: Linus Walleij

From: root <root@fecusia.(none)>

This replace all instances in the i2c busses tree of
res->end - res->start + 1 with the handy macro resource_size(res)
from ioport.h (coming in from platform_device.h).

This was created with a simple
sed -i -e 's/\([a-z]*\)->end *- *[a-z]*->start *+ *1/resource_size(\1)/g'

Then manually replacing the PXA redefiniton of the same kind
of macro manually. Recompiled some ARM defconfigs I could find to
make a rough test so it shouldn't break anything, though I
couldn't see exactly which configs you need for all the drivers.

Signed-off-by: Linus Walleij <linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
---
 drivers/i2c/busses/i2c-at91.c         |    8 ++++----
 drivers/i2c/busses/i2c-au1550.c       |    2 +-
 drivers/i2c/busses/i2c-bfin-twi.c     |    2 +-
 drivers/i2c/busses/i2c-highlander.c   |    2 +-
 drivers/i2c/busses/i2c-mv64xxx.c      |    2 +-
 drivers/i2c/busses/i2c-ocores.c       |    8 ++++----
 drivers/i2c/busses/i2c-omap.c         |    2 +-
 drivers/i2c/busses/i2c-pca-platform.c |   10 ++++------
 drivers/i2c/busses/i2c-pmcmsp.c       |    8 ++++----
 drivers/i2c/busses/i2c-pxa.c          |    9 ++++-----
 drivers/i2c/busses/i2c-versatile.c    |    6 +++---
 11 files changed, 28 insertions(+), 31 deletions(-)

diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c
index 67d9dc5..06e1ecb 100644
--- a/drivers/i2c/busses/i2c-at91.c
+++ b/drivers/i2c/busses/i2c-at91.c
@@ -200,10 +200,10 @@ static int __devinit at91_i2c_probe(struct platform_device *pdev)
 	if (!res)
 		return -ENXIO;
 
-	if (!request_mem_region(res->start, res->end - res->start + 1, "at91_i2c"))
+	if (!request_mem_region(res->start, resource_size(res), "at91_i2c"))
 		return -EBUSY;
 
-	twi_base = ioremap(res->start, res->end - res->start + 1);
+	twi_base = ioremap(res->start, resource_size(res));
 	if (!twi_base) {
 		rc = -ENOMEM;
 		goto fail0;
@@ -252,7 +252,7 @@ fail2:
 fail1:
 	iounmap(twi_base);
 fail0:
-	release_mem_region(res->start, res->end - res->start + 1);
+	release_mem_region(res->start, resource_size(res));
 
 	return rc;
 }
@@ -268,7 +268,7 @@ static int __devexit at91_i2c_remove(struct platform_device *pdev)
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	iounmap(twi_base);
-	release_mem_region(res->start, res->end - res->start + 1);
+	release_mem_region(res->start, resource_size(res));
 
 	clk_disable(twi_clk);		/* disable peripheral clock */
 	clk_put(twi_clk);
diff --git a/drivers/i2c/busses/i2c-au1550.c b/drivers/i2c/busses/i2c-au1550.c
index f78ce52..532828b 100644
--- a/drivers/i2c/busses/i2c-au1550.c
+++ b/drivers/i2c/busses/i2c-au1550.c
@@ -389,7 +389,7 @@ i2c_au1550_probe(struct platform_device *pdev)
 		goto out;
 	}
 
-	priv->ioarea = request_mem_region(r->start, r->end - r->start + 1,
+	priv->ioarea = request_mem_region(r->start, resource_size(r),
 					  pdev->name);
 	if (!priv->ioarea) {
 		ret = -EBUSY;
diff --git a/drivers/i2c/busses/i2c-bfin-twi.c b/drivers/i2c/busses/i2c-bfin-twi.c
index fc548b3..1fceaf0 100644
--- a/drivers/i2c/busses/i2c-bfin-twi.c
+++ b/drivers/i2c/busses/i2c-bfin-twi.c
@@ -632,7 +632,7 @@ static int i2c_bfin_twi_probe(struct platform_device *pdev)
 		goto out_error_get_res;
 	}
 
-	iface->regs_base = ioremap(res->start, res->end - res->start + 1);
+	iface->regs_base = ioremap(res->start, resource_size(res));
 	if (iface->regs_base == NULL) {
 		dev_err(&pdev->dev, "Cannot map IO\n");
 		rc = -ENXIO;
diff --git a/drivers/i2c/busses/i2c-highlander.c b/drivers/i2c/busses/i2c-highlander.c
index e5a8dae..87ecace 100644
--- a/drivers/i2c/busses/i2c-highlander.c
+++ b/drivers/i2c/busses/i2c-highlander.c
@@ -373,7 +373,7 @@ static int __devinit highlander_i2c_probe(struct platform_device *pdev)
 	if (unlikely(!dev))
 		return -ENOMEM;
 
-	dev->base = ioremap_nocache(res->start, res->end - res->start + 1);
+	dev->base = ioremap_nocache(res->start, resource_size(res));
 	if (unlikely(!dev->base)) {
 		ret = -ENXIO;
 		goto err;
diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c
index 5a4945d..c3869d9 100644
--- a/drivers/i2c/busses/i2c-mv64xxx.c
+++ b/drivers/i2c/busses/i2c-mv64xxx.c
@@ -469,7 +469,7 @@ mv64xxx_i2c_map_regs(struct platform_device *pd,
 	if (!r)
 		return -ENODEV;
 
-	size = r->end - r->start + 1;
+	size = resource_size(r);
 
 	if (!request_mem_region(r->start, size, drv_data->adapter.name))
 		return -EBUSY;
diff --git a/drivers/i2c/busses/i2c-ocores.c b/drivers/i2c/busses/i2c-ocores.c
index e5193bf..eec9ab2 100644
--- a/drivers/i2c/busses/i2c-ocores.c
+++ b/drivers/i2c/busses/i2c-ocores.c
@@ -233,14 +233,14 @@ static int __devinit ocores_i2c_probe(struct platform_device *pdev)
 	if (!i2c)
 		return -ENOMEM;
 
-	if (!request_mem_region(res->start, res->end - res->start + 1,
+	if (!request_mem_region(res->start, resource_size(res),
 				pdev->name)) {
 		dev_err(&pdev->dev, "Memory region busy\n");
 		ret = -EBUSY;
 		goto request_mem_failed;
 	}
 
-	i2c->base = ioremap(res->start, res->end - res->start + 1);
+	i2c->base = ioremap(res->start, resource_size(res));
 	if (!i2c->base) {
 		dev_err(&pdev->dev, "Unable to map registers\n");
 		ret = -EIO;
@@ -278,7 +278,7 @@ add_adapter_failed:
 request_irq_failed:
 	iounmap(i2c->base);
 map_failed:
-	release_mem_region(res->start, res->end - res->start + 1);
+	release_mem_region(res->start, resource_size(res));
 request_mem_failed:
 	kfree(i2c);
 
@@ -306,7 +306,7 @@ static int __devexit ocores_i2c_remove(struct platform_device* pdev)
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	if (res)
-		release_mem_region(res->start, res->end - res->start + 1);
+		release_mem_region(res->start, resource_size(res));
 
 	kfree(i2c);
 
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index ece0125..af14635 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -807,7 +807,7 @@ omap_i2c_probe(struct platform_device *pdev)
 	dev->idle = 1;
 	dev->dev = &pdev->dev;
 	dev->irq = irq->start;
-	dev->base = ioremap(mem->start, mem->end - mem->start + 1);
+	dev->base = ioremap(mem->start, resource_size(mem));
 	if (!dev->base) {
 		r = -ENOMEM;
 		goto err_free_mem;
diff --git a/drivers/i2c/busses/i2c-pca-platform.c b/drivers/i2c/busses/i2c-pca-platform.c
index 7b23891..c4df9d4 100644
--- a/drivers/i2c/busses/i2c-pca-platform.c
+++ b/drivers/i2c/busses/i2c-pca-platform.c
@@ -27,8 +27,6 @@
 #include <asm/irq.h>
 #include <asm/io.h>
 
-#define res_len(r)		((r)->end - (r)->start + 1)
-
 struct i2c_pca_pf_data {
 	void __iomem			*reg_base;
 	int				irq;	/* if 0, use polling */
@@ -148,7 +146,7 @@ static int __devinit i2c_pca_pf_probe(struct platform_device *pdev)
 		goto e_print;
 	}
 
-	if (!request_mem_region(res->start, res_len(res), res->name)) {
+	if (!request_mem_region(res->start, resource_size(res), res->name)) {
 		ret = -ENOMEM;
 		goto e_print;
 	}
@@ -161,13 +159,13 @@ static int __devinit i2c_pca_pf_probe(struct platform_device *pdev)
 
 	init_waitqueue_head(&i2c->wait);
 
-	i2c->reg_base = ioremap(res->start, res_len(res));
+	i2c->reg_base = ioremap(res->start, resource_size(res));
 	if (!i2c->reg_base) {
 		ret = -ENOMEM;
 		goto e_remap;
 	}
 	i2c->io_base = res->start;
-	i2c->io_size = res_len(res);
+	i2c->io_size = resource_size(res);
 	i2c->irq = irq;
 
 	i2c->adap.nr = pdev->id >= 0 ? pdev->id : 0;
@@ -250,7 +248,7 @@ e_reqirq:
 e_remap:
 	kfree(i2c);
 e_alloc:
-	release_mem_region(res->start, res_len(res));
+	release_mem_region(res->start, resource_size(res));
 e_print:
 	printk(KERN_ERR "Registering PCA9564/PCA9665 FAILED! (%d)\n", ret);
 	return ret;
diff --git a/drivers/i2c/busses/i2c-pmcmsp.c b/drivers/i2c/busses/i2c-pmcmsp.c
index 0bdb2d7..7b57d5f 100644
--- a/drivers/i2c/busses/i2c-pmcmsp.c
+++ b/drivers/i2c/busses/i2c-pmcmsp.c
@@ -283,7 +283,7 @@ static int __devinit pmcmsptwi_probe(struct platform_device *pldev)
 	}
 
 	/* reserve the memory region */
-	if (!request_mem_region(res->start, res->end - res->start + 1,
+	if (!request_mem_region(res->start, resource_size(res),
 				pldev->name)) {
 		dev_err(&pldev->dev,
 			"Unable to get memory/io address region 0x%08x\n",
@@ -294,7 +294,7 @@ static int __devinit pmcmsptwi_probe(struct platform_device *pldev)
 
 	/* remap the memory */
 	pmcmsptwi_data.iobase = ioremap_nocache(res->start,
-						res->end - res->start + 1);
+						resource_size(res));
 	if (!pmcmsptwi_data.iobase) {
 		dev_err(&pldev->dev,
 			"Unable to ioremap address 0x%08x\n", res->start);
@@ -360,7 +360,7 @@ ret_unmap:
 	iounmap(pmcmsptwi_data.iobase);
 
 ret_unreserve:
-	release_mem_region(res->start, res->end - res->start + 1);
+	release_mem_region(res->start, resource_size(res));
 
 ret_err:
 	return rc;
@@ -385,7 +385,7 @@ static int __devexit pmcmsptwi_remove(struct platform_device *pldev)
 	iounmap(pmcmsptwi_data.iobase);
 
 	res = platform_get_resource(pldev, IORESOURCE_MEM, 0);
-	release_mem_region(res->start, res->end - res->start + 1);
+	release_mem_region(res->start, resource_size(res));
 
 	return 0;
 }
diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
index c1405c8..b330883 100644
--- a/drivers/i2c/busses/i2c-pxa.c
+++ b/drivers/i2c/busses/i2c-pxa.c
@@ -979,7 +979,6 @@ static const struct i2c_algorithm i2c_pxa_pio_algorithm = {
 	.functionality	= i2c_pxa_functionality,
 };
 
-#define res_len(r)		((r)->end - (r)->start + 1)
 static int i2c_pxa_probe(struct platform_device *dev)
 {
 	struct pxa_i2c *i2c;
@@ -993,7 +992,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
 	if (res == NULL || irq < 0)
 		return -ENODEV;
 
-	if (!request_mem_region(res->start, res_len(res), res->name))
+	if (!request_mem_region(res->start, resource_size(res), res->name))
 		return -ENOMEM;
 
 	i2c = kzalloc(sizeof(struct pxa_i2c), GFP_KERNEL);
@@ -1023,7 +1022,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
 		goto eclk;
 	}
 
-	i2c->reg_base = ioremap(res->start, res_len(res));
+	i2c->reg_base = ioremap(res->start, resource_size(res));
 	if (!i2c->reg_base) {
 		ret = -EIO;
 		goto eremap;
@@ -1031,7 +1030,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
 	i2c->reg_shift = (cpu_is_pxa3xx() && (dev->id == 1)) ? 0 : 1;
 
 	i2c->iobase = res->start;
-	i2c->iosize = res_len(res);
+	i2c->iosize = resource_size(res);
 
 	i2c->irq = irq;
 
@@ -1095,7 +1094,7 @@ eremap:
 eclk:
 	kfree(i2c);
 emalloc:
-	release_mem_region(res->start, res_len(res));
+	release_mem_region(res->start, resource_size(res));
 	return ret;
 }
 
diff --git a/drivers/i2c/busses/i2c-versatile.c b/drivers/i2c/busses/i2c-versatile.c
index fede619..70de821 100644
--- a/drivers/i2c/busses/i2c-versatile.c
+++ b/drivers/i2c/busses/i2c-versatile.c
@@ -76,7 +76,7 @@ static int i2c_versatile_probe(struct platform_device *dev)
 		goto err_out;
 	}
 
-	if (!request_mem_region(r->start, r->end - r->start + 1, "versatile-i2c")) {
+	if (!request_mem_region(r->start, resource_size(r), "versatile-i2c")) {
 		ret = -EBUSY;
 		goto err_out;
 	}
@@ -87,7 +87,7 @@ static int i2c_versatile_probe(struct platform_device *dev)
 		goto err_release;
 	}
 
-	i2c->base = ioremap(r->start, r->end - r->start + 1);
+	i2c->base = ioremap(r->start, resource_size(r));
 	if (!i2c->base) {
 		ret = -ENOMEM;
 		goto err_free;
@@ -118,7 +118,7 @@ static int i2c_versatile_probe(struct platform_device *dev)
  err_free:
 	kfree(i2c);
  err_release:
-	release_mem_region(r->start, r->end - r->start + 1);
+	release_mem_region(r->start, resource_size(r));
  err_out:
 	return ret;
 }
-- 
1.6.0.6

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

* Re: [PATCH] Use resource_size macro
       [not found] ` <1241642367-14639-1-git-send-email-linus.ml.walleij-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2009-05-11 23:12   ` Ben Dooks
  2009-06-13  9:41   ` Ben Dooks
  1 sibling, 0 replies; 10+ messages in thread
From: Ben Dooks @ 2009-05-11 23:12 UTC (permalink / raw)
  To: Linus Walleij; +Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA, Linus Walleij

On Wed, May 06, 2009 at 10:39:27PM +0200, Linus Walleij wrote:
> From: root <root@fecusia.(none)>
> 
> This replace all instances in the i2c busses tree of
> res->end - res->start + 1 with the handy macro resource_size(res)
> from ioport.h (coming in from platform_device.h).
> 
> This was created with a simple
> sed -i -e 's/\([a-z]*\)->end *- *[a-z]*->start *+ *1/resource_size(\1)/g'
> 
> Then manually replacing the PXA redefiniton of the same kind
> of macro manually. Recompiled some ARM defconfigs I could find to
> make a rough test so it shouldn't break anything, though I
> couldn't see exactly which configs you need for all the drivers.

Looks ok to me, will look at applying next kernel version.
 
> Signed-off-by: Linus Walleij <linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
> ---
>  drivers/i2c/busses/i2c-at91.c         |    8 ++++----
>  drivers/i2c/busses/i2c-au1550.c       |    2 +-
>  drivers/i2c/busses/i2c-bfin-twi.c     |    2 +-
>  drivers/i2c/busses/i2c-highlander.c   |    2 +-
>  drivers/i2c/busses/i2c-mv64xxx.c      |    2 +-
>  drivers/i2c/busses/i2c-ocores.c       |    8 ++++----
>  drivers/i2c/busses/i2c-omap.c         |    2 +-
>  drivers/i2c/busses/i2c-pca-platform.c |   10 ++++------
>  drivers/i2c/busses/i2c-pmcmsp.c       |    8 ++++----
>  drivers/i2c/busses/i2c-pxa.c          |    9 ++++-----
>  drivers/i2c/busses/i2c-versatile.c    |    6 +++---
>  11 files changed, 28 insertions(+), 31 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c
> index 67d9dc5..06e1ecb 100644
> --- a/drivers/i2c/busses/i2c-at91.c
> +++ b/drivers/i2c/busses/i2c-at91.c
> @@ -200,10 +200,10 @@ static int __devinit at91_i2c_probe(struct platform_device *pdev)
>  	if (!res)
>  		return -ENXIO;
>  
> -	if (!request_mem_region(res->start, res->end - res->start + 1, "at91_i2c"))
> +	if (!request_mem_region(res->start, resource_size(res), "at91_i2c"))
>  		return -EBUSY;
>  
> -	twi_base = ioremap(res->start, res->end - res->start + 1);
> +	twi_base = ioremap(res->start, resource_size(res));
>  	if (!twi_base) {
>  		rc = -ENOMEM;
>  		goto fail0;
> @@ -252,7 +252,7 @@ fail2:
>  fail1:
>  	iounmap(twi_base);
>  fail0:
> -	release_mem_region(res->start, res->end - res->start + 1);
> +	release_mem_region(res->start, resource_size(res));
>  
>  	return rc;
>  }
> @@ -268,7 +268,7 @@ static int __devexit at91_i2c_remove(struct platform_device *pdev)
>  
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	iounmap(twi_base);
> -	release_mem_region(res->start, res->end - res->start + 1);
> +	release_mem_region(res->start, resource_size(res));
>  
>  	clk_disable(twi_clk);		/* disable peripheral clock */
>  	clk_put(twi_clk);
> diff --git a/drivers/i2c/busses/i2c-au1550.c b/drivers/i2c/busses/i2c-au1550.c
> index f78ce52..532828b 100644
> --- a/drivers/i2c/busses/i2c-au1550.c
> +++ b/drivers/i2c/busses/i2c-au1550.c
> @@ -389,7 +389,7 @@ i2c_au1550_probe(struct platform_device *pdev)
>  		goto out;
>  	}
>  
> -	priv->ioarea = request_mem_region(r->start, r->end - r->start + 1,
> +	priv->ioarea = request_mem_region(r->start, resource_size(r),
>  					  pdev->name);
>  	if (!priv->ioarea) {
>  		ret = -EBUSY;
> diff --git a/drivers/i2c/busses/i2c-bfin-twi.c b/drivers/i2c/busses/i2c-bfin-twi.c
> index fc548b3..1fceaf0 100644
> --- a/drivers/i2c/busses/i2c-bfin-twi.c
> +++ b/drivers/i2c/busses/i2c-bfin-twi.c
> @@ -632,7 +632,7 @@ static int i2c_bfin_twi_probe(struct platform_device *pdev)
>  		goto out_error_get_res;
>  	}
>  
> -	iface->regs_base = ioremap(res->start, res->end - res->start + 1);
> +	iface->regs_base = ioremap(res->start, resource_size(res));
>  	if (iface->regs_base == NULL) {
>  		dev_err(&pdev->dev, "Cannot map IO\n");
>  		rc = -ENXIO;
> diff --git a/drivers/i2c/busses/i2c-highlander.c b/drivers/i2c/busses/i2c-highlander.c
> index e5a8dae..87ecace 100644
> --- a/drivers/i2c/busses/i2c-highlander.c
> +++ b/drivers/i2c/busses/i2c-highlander.c
> @@ -373,7 +373,7 @@ static int __devinit highlander_i2c_probe(struct platform_device *pdev)
>  	if (unlikely(!dev))
>  		return -ENOMEM;
>  
> -	dev->base = ioremap_nocache(res->start, res->end - res->start + 1);
> +	dev->base = ioremap_nocache(res->start, resource_size(res));
>  	if (unlikely(!dev->base)) {
>  		ret = -ENXIO;
>  		goto err;
> diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c
> index 5a4945d..c3869d9 100644
> --- a/drivers/i2c/busses/i2c-mv64xxx.c
> +++ b/drivers/i2c/busses/i2c-mv64xxx.c
> @@ -469,7 +469,7 @@ mv64xxx_i2c_map_regs(struct platform_device *pd,
>  	if (!r)
>  		return -ENODEV;
>  
> -	size = r->end - r->start + 1;
> +	size = resource_size(r);
>  
>  	if (!request_mem_region(r->start, size, drv_data->adapter.name))
>  		return -EBUSY;
> diff --git a/drivers/i2c/busses/i2c-ocores.c b/drivers/i2c/busses/i2c-ocores.c
> index e5193bf..eec9ab2 100644
> --- a/drivers/i2c/busses/i2c-ocores.c
> +++ b/drivers/i2c/busses/i2c-ocores.c
> @@ -233,14 +233,14 @@ static int __devinit ocores_i2c_probe(struct platform_device *pdev)
>  	if (!i2c)
>  		return -ENOMEM;
>  
> -	if (!request_mem_region(res->start, res->end - res->start + 1,
> +	if (!request_mem_region(res->start, resource_size(res),
>  				pdev->name)) {
>  		dev_err(&pdev->dev, "Memory region busy\n");
>  		ret = -EBUSY;
>  		goto request_mem_failed;
>  	}
>  
> -	i2c->base = ioremap(res->start, res->end - res->start + 1);
> +	i2c->base = ioremap(res->start, resource_size(res));
>  	if (!i2c->base) {
>  		dev_err(&pdev->dev, "Unable to map registers\n");
>  		ret = -EIO;
> @@ -278,7 +278,7 @@ add_adapter_failed:
>  request_irq_failed:
>  	iounmap(i2c->base);
>  map_failed:
> -	release_mem_region(res->start, res->end - res->start + 1);
> +	release_mem_region(res->start, resource_size(res));
>  request_mem_failed:
>  	kfree(i2c);
>  
> @@ -306,7 +306,7 @@ static int __devexit ocores_i2c_remove(struct platform_device* pdev)
>  
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	if (res)
> -		release_mem_region(res->start, res->end - res->start + 1);
> +		release_mem_region(res->start, resource_size(res));
>  
>  	kfree(i2c);
>  
> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
> index ece0125..af14635 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -807,7 +807,7 @@ omap_i2c_probe(struct platform_device *pdev)
>  	dev->idle = 1;
>  	dev->dev = &pdev->dev;
>  	dev->irq = irq->start;
> -	dev->base = ioremap(mem->start, mem->end - mem->start + 1);
> +	dev->base = ioremap(mem->start, resource_size(mem));
>  	if (!dev->base) {
>  		r = -ENOMEM;
>  		goto err_free_mem;
> diff --git a/drivers/i2c/busses/i2c-pca-platform.c b/drivers/i2c/busses/i2c-pca-platform.c
> index 7b23891..c4df9d4 100644
> --- a/drivers/i2c/busses/i2c-pca-platform.c
> +++ b/drivers/i2c/busses/i2c-pca-platform.c
> @@ -27,8 +27,6 @@
>  #include <asm/irq.h>
>  #include <asm/io.h>
>  
> -#define res_len(r)		((r)->end - (r)->start + 1)
> -
>  struct i2c_pca_pf_data {
>  	void __iomem			*reg_base;
>  	int				irq;	/* if 0, use polling */
> @@ -148,7 +146,7 @@ static int __devinit i2c_pca_pf_probe(struct platform_device *pdev)
>  		goto e_print;
>  	}
>  
> -	if (!request_mem_region(res->start, res_len(res), res->name)) {
> +	if (!request_mem_region(res->start, resource_size(res), res->name)) {
>  		ret = -ENOMEM;
>  		goto e_print;
>  	}
> @@ -161,13 +159,13 @@ static int __devinit i2c_pca_pf_probe(struct platform_device *pdev)
>  
>  	init_waitqueue_head(&i2c->wait);
>  
> -	i2c->reg_base = ioremap(res->start, res_len(res));
> +	i2c->reg_base = ioremap(res->start, resource_size(res));
>  	if (!i2c->reg_base) {
>  		ret = -ENOMEM;
>  		goto e_remap;
>  	}
>  	i2c->io_base = res->start;
> -	i2c->io_size = res_len(res);
> +	i2c->io_size = resource_size(res);
>  	i2c->irq = irq;
>  
>  	i2c->adap.nr = pdev->id >= 0 ? pdev->id : 0;
> @@ -250,7 +248,7 @@ e_reqirq:
>  e_remap:
>  	kfree(i2c);
>  e_alloc:
> -	release_mem_region(res->start, res_len(res));
> +	release_mem_region(res->start, resource_size(res));
>  e_print:
>  	printk(KERN_ERR "Registering PCA9564/PCA9665 FAILED! (%d)\n", ret);
>  	return ret;
> diff --git a/drivers/i2c/busses/i2c-pmcmsp.c b/drivers/i2c/busses/i2c-pmcmsp.c
> index 0bdb2d7..7b57d5f 100644
> --- a/drivers/i2c/busses/i2c-pmcmsp.c
> +++ b/drivers/i2c/busses/i2c-pmcmsp.c
> @@ -283,7 +283,7 @@ static int __devinit pmcmsptwi_probe(struct platform_device *pldev)
>  	}
>  
>  	/* reserve the memory region */
> -	if (!request_mem_region(res->start, res->end - res->start + 1,
> +	if (!request_mem_region(res->start, resource_size(res),
>  				pldev->name)) {
>  		dev_err(&pldev->dev,
>  			"Unable to get memory/io address region 0x%08x\n",
> @@ -294,7 +294,7 @@ static int __devinit pmcmsptwi_probe(struct platform_device *pldev)
>  
>  	/* remap the memory */
>  	pmcmsptwi_data.iobase = ioremap_nocache(res->start,
> -						res->end - res->start + 1);
> +						resource_size(res));
>  	if (!pmcmsptwi_data.iobase) {
>  		dev_err(&pldev->dev,
>  			"Unable to ioremap address 0x%08x\n", res->start);
> @@ -360,7 +360,7 @@ ret_unmap:
>  	iounmap(pmcmsptwi_data.iobase);
>  
>  ret_unreserve:
> -	release_mem_region(res->start, res->end - res->start + 1);
> +	release_mem_region(res->start, resource_size(res));
>  
>  ret_err:
>  	return rc;
> @@ -385,7 +385,7 @@ static int __devexit pmcmsptwi_remove(struct platform_device *pldev)
>  	iounmap(pmcmsptwi_data.iobase);
>  
>  	res = platform_get_resource(pldev, IORESOURCE_MEM, 0);
> -	release_mem_region(res->start, res->end - res->start + 1);
> +	release_mem_region(res->start, resource_size(res));
>  
>  	return 0;
>  }
> diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
> index c1405c8..b330883 100644
> --- a/drivers/i2c/busses/i2c-pxa.c
> +++ b/drivers/i2c/busses/i2c-pxa.c
> @@ -979,7 +979,6 @@ static const struct i2c_algorithm i2c_pxa_pio_algorithm = {
>  	.functionality	= i2c_pxa_functionality,
>  };
>  
> -#define res_len(r)		((r)->end - (r)->start + 1)
>  static int i2c_pxa_probe(struct platform_device *dev)
>  {
>  	struct pxa_i2c *i2c;
> @@ -993,7 +992,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
>  	if (res == NULL || irq < 0)
>  		return -ENODEV;
>  
> -	if (!request_mem_region(res->start, res_len(res), res->name))
> +	if (!request_mem_region(res->start, resource_size(res), res->name))
>  		return -ENOMEM;
>  
>  	i2c = kzalloc(sizeof(struct pxa_i2c), GFP_KERNEL);
> @@ -1023,7 +1022,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
>  		goto eclk;
>  	}
>  
> -	i2c->reg_base = ioremap(res->start, res_len(res));
> +	i2c->reg_base = ioremap(res->start, resource_size(res));
>  	if (!i2c->reg_base) {
>  		ret = -EIO;
>  		goto eremap;
> @@ -1031,7 +1030,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
>  	i2c->reg_shift = (cpu_is_pxa3xx() && (dev->id == 1)) ? 0 : 1;
>  
>  	i2c->iobase = res->start;
> -	i2c->iosize = res_len(res);
> +	i2c->iosize = resource_size(res);
>  
>  	i2c->irq = irq;
>  
> @@ -1095,7 +1094,7 @@ eremap:
>  eclk:
>  	kfree(i2c);
>  emalloc:
> -	release_mem_region(res->start, res_len(res));
> +	release_mem_region(res->start, resource_size(res));
>  	return ret;
>  }
>  
> diff --git a/drivers/i2c/busses/i2c-versatile.c b/drivers/i2c/busses/i2c-versatile.c
> index fede619..70de821 100644
> --- a/drivers/i2c/busses/i2c-versatile.c
> +++ b/drivers/i2c/busses/i2c-versatile.c
> @@ -76,7 +76,7 @@ static int i2c_versatile_probe(struct platform_device *dev)
>  		goto err_out;
>  	}
>  
> -	if (!request_mem_region(r->start, r->end - r->start + 1, "versatile-i2c")) {
> +	if (!request_mem_region(r->start, resource_size(r), "versatile-i2c")) {
>  		ret = -EBUSY;
>  		goto err_out;
>  	}
> @@ -87,7 +87,7 @@ static int i2c_versatile_probe(struct platform_device *dev)
>  		goto err_release;
>  	}
>  
> -	i2c->base = ioremap(r->start, r->end - r->start + 1);
> +	i2c->base = ioremap(r->start, resource_size(r));
>  	if (!i2c->base) {
>  		ret = -ENOMEM;
>  		goto err_free;
> @@ -118,7 +118,7 @@ static int i2c_versatile_probe(struct platform_device *dev)
>   err_free:
>  	kfree(i2c);
>   err_release:
> -	release_mem_region(r->start, r->end - r->start + 1);
> +	release_mem_region(r->start, resource_size(r));
>   err_out:
>  	return ret;
>  }
> -- 
> 1.6.0.6
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Ben (ben-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org, http://www.fluff.org/)

  'a smiley only costs 4 bytes'

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

* Re: [PATCH] Use resource_size macro
       [not found] ` <1241642367-14639-1-git-send-email-linus.ml.walleij-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2009-05-11 23:12   ` Ben Dooks
@ 2009-06-13  9:41   ` Ben Dooks
       [not found]     ` <20090613094133.GF20446-elnMNo+KYs3pIgCt6eIbzw@public.gmane.org>
  1 sibling, 1 reply; 10+ messages in thread
From: Ben Dooks @ 2009-06-13  9:41 UTC (permalink / raw)
  To: Linus Walleij; +Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA, Linus Walleij

Just noticed that your From: and Signed-off-by: don't match,
any chance of reposting with this fixed please?

-- 
Ben (ben-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org, http://www.fluff.org/)

  'a smiley only costs 4 bytes'

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

* RE: [PATCH] Use resource_size macro
       [not found]     ` <20090613094133.GF20446-elnMNo+KYs3pIgCt6eIbzw@public.gmane.org>
@ 2009-06-13 19:08       ` Linus Walleij
  0 siblings, 0 replies; 10+ messages in thread
From: Linus Walleij @ 2009-06-13 19:08 UTC (permalink / raw)
  To: Ben Dooks, Linus Walleij; +Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA

> Just noticed that your From: and Signed-off-by: don't match, 
> any chance of reposting with this fixed please?

The problem is that this is an outlook mailer and it mangles
whitespace (that is why I post from Gmail). I can send them
as attachments but I guess that won't help you much, will it?

I can try to trick an SMTP engine to claim
these patches were sent from that mail adress though,
hang on..

Linus Walleij

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

* Re: [PATCH] Use resource_size macro
       [not found] ` <1244931636-23920-1-git-send-email-linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
@ 2009-06-14 13:06   ` Ben Dooks
  0 siblings, 0 replies; 10+ messages in thread
From: Ben Dooks @ 2009-06-14 13:06 UTC (permalink / raw)
  To: linus.walleij-0IS4wlFg1OjSUeElwK9/Pw
  Cc: ben-elnMNo+KYs3YtjvyW6yDsg, linux-i2c-u79uwXL29TY76Z2rM5mHXA

applied

-- 
Ben (ben-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org, http://www.fluff.org/)

  'a smiley only costs 4 bytes'

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

* [PATCH] Use resource_size macro
@ 2009-06-13 22:20 linus.walleij-0IS4wlFg1OjSUeElwK9/Pw
       [not found] ` <1244931636-23920-1-git-send-email-linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
  0 siblings, 1 reply; 10+ messages in thread
From: linus.walleij-0IS4wlFg1OjSUeElwK9/Pw @ 2009-06-13 22:20 UTC (permalink / raw)
  To: ben-elnMNo+KYs3YtjvyW6yDsg, linux-i2c-u79uwXL29TY76Z2rM5mHXA
  Cc: Linus Walleij

From: Linus Walleij <linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>

This replace all instances in the i2c busses tree of
res->end - res->start + 1 with the handy macro resource_size(res)
from ioport.h (coming in from platform_device.h).

This was created with a simple
sed -i -e 's/\([a-z]*\)->end *- *[a-z]*->start *+ *1/resource_size(\1)/g'

Then manually replacing the PXA redefiniton of the same kind
of macro manually. Recompiled some ARM defconfigs I could find to
make a rough test so it shouldn't break anything, though I
couldn't see exactly which configs you need for all the drivers.

Signed-off-by: Linus Walleij <linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
---
 drivers/i2c/busses/i2c-at91.c         |    8 ++++----
 drivers/i2c/busses/i2c-au1550.c       |    2 +-
 drivers/i2c/busses/i2c-bfin-twi.c     |    2 +-
 drivers/i2c/busses/i2c-highlander.c   |    2 +-
 drivers/i2c/busses/i2c-mv64xxx.c      |    2 +-
 drivers/i2c/busses/i2c-ocores.c       |    8 ++++----
 drivers/i2c/busses/i2c-omap.c         |    2 +-
 drivers/i2c/busses/i2c-pca-platform.c |   10 ++++------
 drivers/i2c/busses/i2c-pmcmsp.c       |    8 ++++----
 drivers/i2c/busses/i2c-pxa.c          |    9 ++++-----
 drivers/i2c/busses/i2c-versatile.c    |    6 +++---
 11 files changed, 28 insertions(+), 31 deletions(-)

diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c
index 67d9dc5..06e1ecb 100644
--- a/drivers/i2c/busses/i2c-at91.c
+++ b/drivers/i2c/busses/i2c-at91.c
@@ -200,10 +200,10 @@ static int __devinit at91_i2c_probe(struct platform_device *pdev)
 	if (!res)
 		return -ENXIO;
 
-	if (!request_mem_region(res->start, res->end - res->start + 1, "at91_i2c"))
+	if (!request_mem_region(res->start, resource_size(res), "at91_i2c"))
 		return -EBUSY;
 
-	twi_base = ioremap(res->start, res->end - res->start + 1);
+	twi_base = ioremap(res->start, resource_size(res));
 	if (!twi_base) {
 		rc = -ENOMEM;
 		goto fail0;
@@ -252,7 +252,7 @@ fail2:
 fail1:
 	iounmap(twi_base);
 fail0:
-	release_mem_region(res->start, res->end - res->start + 1);
+	release_mem_region(res->start, resource_size(res));
 
 	return rc;
 }
@@ -268,7 +268,7 @@ static int __devexit at91_i2c_remove(struct platform_device *pdev)
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	iounmap(twi_base);
-	release_mem_region(res->start, res->end - res->start + 1);
+	release_mem_region(res->start, resource_size(res));
 
 	clk_disable(twi_clk);		/* disable peripheral clock */
 	clk_put(twi_clk);
diff --git a/drivers/i2c/busses/i2c-au1550.c b/drivers/i2c/busses/i2c-au1550.c
index f78ce52..532828b 100644
--- a/drivers/i2c/busses/i2c-au1550.c
+++ b/drivers/i2c/busses/i2c-au1550.c
@@ -389,7 +389,7 @@ i2c_au1550_probe(struct platform_device *pdev)
 		goto out;
 	}
 
-	priv->ioarea = request_mem_region(r->start, r->end - r->start + 1,
+	priv->ioarea = request_mem_region(r->start, resource_size(r),
 					  pdev->name);
 	if (!priv->ioarea) {
 		ret = -EBUSY;
diff --git a/drivers/i2c/busses/i2c-bfin-twi.c b/drivers/i2c/busses/i2c-bfin-twi.c
index 26d8987..96a99c9 100644
--- a/drivers/i2c/busses/i2c-bfin-twi.c
+++ b/drivers/i2c/busses/i2c-bfin-twi.c
@@ -651,7 +651,7 @@ static int i2c_bfin_twi_probe(struct platform_device *pdev)
 		goto out_error_get_res;
 	}
 
-	iface->regs_base = ioremap(res->start, res->end - res->start + 1);
+	iface->regs_base = ioremap(res->start, resource_size(res));
 	if (iface->regs_base == NULL) {
 		dev_err(&pdev->dev, "Cannot map IO\n");
 		rc = -ENXIO;
diff --git a/drivers/i2c/busses/i2c-highlander.c b/drivers/i2c/busses/i2c-highlander.c
index e5a8dae..87ecace 100644
--- a/drivers/i2c/busses/i2c-highlander.c
+++ b/drivers/i2c/busses/i2c-highlander.c
@@ -373,7 +373,7 @@ static int __devinit highlander_i2c_probe(struct platform_device *pdev)
 	if (unlikely(!dev))
 		return -ENOMEM;
 
-	dev->base = ioremap_nocache(res->start, res->end - res->start + 1);
+	dev->base = ioremap_nocache(res->start, resource_size(res));
 	if (unlikely(!dev->base)) {
 		ret = -ENXIO;
 		goto err;
diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c
index 5a4945d..c3869d9 100644
--- a/drivers/i2c/busses/i2c-mv64xxx.c
+++ b/drivers/i2c/busses/i2c-mv64xxx.c
@@ -469,7 +469,7 @@ mv64xxx_i2c_map_regs(struct platform_device *pd,
 	if (!r)
 		return -ENODEV;
 
-	size = r->end - r->start + 1;
+	size = resource_size(r);
 
 	if (!request_mem_region(r->start, size, drv_data->adapter.name))
 		return -EBUSY;
diff --git a/drivers/i2c/busses/i2c-ocores.c b/drivers/i2c/busses/i2c-ocores.c
index 3542c6b..0dabe64 100644
--- a/drivers/i2c/busses/i2c-ocores.c
+++ b/drivers/i2c/busses/i2c-ocores.c
@@ -234,14 +234,14 @@ static int __devinit ocores_i2c_probe(struct platform_device *pdev)
 	if (!i2c)
 		return -ENOMEM;
 
-	if (!request_mem_region(res->start, res->end - res->start + 1,
+	if (!request_mem_region(res->start, resource_size(res),
 				pdev->name)) {
 		dev_err(&pdev->dev, "Memory region busy\n");
 		ret = -EBUSY;
 		goto request_mem_failed;
 	}
 
-	i2c->base = ioremap(res->start, res->end - res->start + 1);
+	i2c->base = ioremap(res->start, resource_size(res));
 	if (!i2c->base) {
 		dev_err(&pdev->dev, "Unable to map registers\n");
 		ret = -EIO;
@@ -283,7 +283,7 @@ add_adapter_failed:
 request_irq_failed:
 	iounmap(i2c->base);
 map_failed:
-	release_mem_region(res->start, res->end - res->start + 1);
+	release_mem_region(res->start, resource_size(res));
 request_mem_failed:
 	kfree(i2c);
 
@@ -311,7 +311,7 @@ static int __devexit ocores_i2c_remove(struct platform_device* pdev)
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	if (res)
-		release_mem_region(res->start, res->end - res->start + 1);
+		release_mem_region(res->start, resource_size(res));
 
 	kfree(i2c);
 
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index c73475d..b606db8 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -828,7 +828,7 @@ omap_i2c_probe(struct platform_device *pdev)
 	dev->idle = 1;
 	dev->dev = &pdev->dev;
 	dev->irq = irq->start;
-	dev->base = ioremap(mem->start, mem->end - mem->start + 1);
+	dev->base = ioremap(mem->start, resource_size(mem));
 	if (!dev->base) {
 		r = -ENOMEM;
 		goto err_free_mem;
diff --git a/drivers/i2c/busses/i2c-pca-platform.c b/drivers/i2c/busses/i2c-pca-platform.c
index 7b23891..c4df9d4 100644
--- a/drivers/i2c/busses/i2c-pca-platform.c
+++ b/drivers/i2c/busses/i2c-pca-platform.c
@@ -27,8 +27,6 @@
 #include <asm/irq.h>
 #include <asm/io.h>
 
-#define res_len(r)		((r)->end - (r)->start + 1)
-
 struct i2c_pca_pf_data {
 	void __iomem			*reg_base;
 	int				irq;	/* if 0, use polling */
@@ -148,7 +146,7 @@ static int __devinit i2c_pca_pf_probe(struct platform_device *pdev)
 		goto e_print;
 	}
 
-	if (!request_mem_region(res->start, res_len(res), res->name)) {
+	if (!request_mem_region(res->start, resource_size(res), res->name)) {
 		ret = -ENOMEM;
 		goto e_print;
 	}
@@ -161,13 +159,13 @@ static int __devinit i2c_pca_pf_probe(struct platform_device *pdev)
 
 	init_waitqueue_head(&i2c->wait);
 
-	i2c->reg_base = ioremap(res->start, res_len(res));
+	i2c->reg_base = ioremap(res->start, resource_size(res));
 	if (!i2c->reg_base) {
 		ret = -ENOMEM;
 		goto e_remap;
 	}
 	i2c->io_base = res->start;
-	i2c->io_size = res_len(res);
+	i2c->io_size = resource_size(res);
 	i2c->irq = irq;
 
 	i2c->adap.nr = pdev->id >= 0 ? pdev->id : 0;
@@ -250,7 +248,7 @@ e_reqirq:
 e_remap:
 	kfree(i2c);
 e_alloc:
-	release_mem_region(res->start, res_len(res));
+	release_mem_region(res->start, resource_size(res));
 e_print:
 	printk(KERN_ERR "Registering PCA9564/PCA9665 FAILED! (%d)\n", ret);
 	return ret;
diff --git a/drivers/i2c/busses/i2c-pmcmsp.c b/drivers/i2c/busses/i2c-pmcmsp.c
index 0bdb2d7..7b57d5f 100644
--- a/drivers/i2c/busses/i2c-pmcmsp.c
+++ b/drivers/i2c/busses/i2c-pmcmsp.c
@@ -283,7 +283,7 @@ static int __devinit pmcmsptwi_probe(struct platform_device *pldev)
 	}
 
 	/* reserve the memory region */
-	if (!request_mem_region(res->start, res->end - res->start + 1,
+	if (!request_mem_region(res->start, resource_size(res),
 				pldev->name)) {
 		dev_err(&pldev->dev,
 			"Unable to get memory/io address region 0x%08x\n",
@@ -294,7 +294,7 @@ static int __devinit pmcmsptwi_probe(struct platform_device *pldev)
 
 	/* remap the memory */
 	pmcmsptwi_data.iobase = ioremap_nocache(res->start,
-						res->end - res->start + 1);
+						resource_size(res));
 	if (!pmcmsptwi_data.iobase) {
 		dev_err(&pldev->dev,
 			"Unable to ioremap address 0x%08x\n", res->start);
@@ -360,7 +360,7 @@ ret_unmap:
 	iounmap(pmcmsptwi_data.iobase);
 
 ret_unreserve:
-	release_mem_region(res->start, res->end - res->start + 1);
+	release_mem_region(res->start, resource_size(res));
 
 ret_err:
 	return rc;
@@ -385,7 +385,7 @@ static int __devexit pmcmsptwi_remove(struct platform_device *pldev)
 	iounmap(pmcmsptwi_data.iobase);
 
 	res = platform_get_resource(pldev, IORESOURCE_MEM, 0);
-	release_mem_region(res->start, res->end - res->start + 1);
+	release_mem_region(res->start, resource_size(res));
 
 	return 0;
 }
diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
index acc7143..f525d69 100644
--- a/drivers/i2c/busses/i2c-pxa.c
+++ b/drivers/i2c/busses/i2c-pxa.c
@@ -979,7 +979,6 @@ static const struct i2c_algorithm i2c_pxa_pio_algorithm = {
 	.functionality	= i2c_pxa_functionality,
 };
 
-#define res_len(r)		((r)->end - (r)->start + 1)
 static int i2c_pxa_probe(struct platform_device *dev)
 {
 	struct pxa_i2c *i2c;
@@ -993,7 +992,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
 	if (res == NULL || irq < 0)
 		return -ENODEV;
 
-	if (!request_mem_region(res->start, res_len(res), res->name))
+	if (!request_mem_region(res->start, resource_size(res), res->name))
 		return -ENOMEM;
 
 	i2c = kzalloc(sizeof(struct pxa_i2c), GFP_KERNEL);
@@ -1023,7 +1022,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
 		goto eclk;
 	}
 
-	i2c->reg_base = ioremap(res->start, res_len(res));
+	i2c->reg_base = ioremap(res->start, resource_size(res));
 	if (!i2c->reg_base) {
 		ret = -EIO;
 		goto eremap;
@@ -1031,7 +1030,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
 	i2c->reg_shift = (cpu_is_pxa3xx() && (dev->id == 1)) ? 0 : 1;
 
 	i2c->iobase = res->start;
-	i2c->iosize = res_len(res);
+	i2c->iosize = resource_size(res);
 
 	i2c->irq = irq;
 
@@ -1095,7 +1094,7 @@ eremap:
 eclk:
 	kfree(i2c);
 emalloc:
-	release_mem_region(res->start, res_len(res));
+	release_mem_region(res->start, resource_size(res));
 	return ret;
 }
 
diff --git a/drivers/i2c/busses/i2c-versatile.c b/drivers/i2c/busses/i2c-versatile.c
index fede619..70de821 100644
--- a/drivers/i2c/busses/i2c-versatile.c
+++ b/drivers/i2c/busses/i2c-versatile.c
@@ -76,7 +76,7 @@ static int i2c_versatile_probe(struct platform_device *dev)
 		goto err_out;
 	}
 
-	if (!request_mem_region(r->start, r->end - r->start + 1, "versatile-i2c")) {
+	if (!request_mem_region(r->start, resource_size(r), "versatile-i2c")) {
 		ret = -EBUSY;
 		goto err_out;
 	}
@@ -87,7 +87,7 @@ static int i2c_versatile_probe(struct platform_device *dev)
 		goto err_release;
 	}
 
-	i2c->base = ioremap(r->start, r->end - r->start + 1);
+	i2c->base = ioremap(r->start, resource_size(r));
 	if (!i2c->base) {
 		ret = -ENOMEM;
 		goto err_free;
@@ -118,7 +118,7 @@ static int i2c_versatile_probe(struct platform_device *dev)
  err_free:
 	kfree(i2c);
  err_release:
-	release_mem_region(r->start, r->end - r->start + 1);
+	release_mem_region(r->start, resource_size(r));
  err_out:
 	return ret;
 }
-- 
1.6.2.2

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

* Re: [PATCH] Use resource_size macro
       [not found]         ` <63386a3d0905061450t23b74998r68fd12198aab103b-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2009-05-07  7:20           ` Jean Delvare
  0 siblings, 0 replies; 10+ messages in thread
From: Jean Delvare @ 2009-05-07  7:20 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Wolfram Sang, Linus Walleij, linux-i2c-u79uwXL29TY76Z2rM5mHXA

On Wed, 6 May 2009 23:50:55 +0200, Linus Walleij wrote:
> 2009/5/6 Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>:
> 
> > On Wed, May 06, 2009 at 10:28:38PM +0200, Linus Walleij wrote:
> >> From: root <root@fecusia.(none)>
> >
> > Hello root :)
> 
> Hehe, I am experimenting with using the new git-send-email script that come
> with newer git versions. It's great because it safely avoids whitespace
> mangling and give you control over the send lines, but then it adds this in
> instead and now I need to figure out how to get rid of that :-P

In ~/.gitconfig:

[user]
	name = Linus Walleij
	email = linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org

Should do.

-- 
Jean Delvare

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

* Re: [PATCH] Use resource_size macro
       [not found]     ` <20090506213523.GB17311-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
@ 2009-05-06 21:50       ` Linus Walleij
       [not found]         ` <63386a3d0905061450t23b74998r68fd12198aab103b-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 10+ messages in thread
From: Linus Walleij @ 2009-05-06 21:50 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: Linus Walleij, linux-i2c-u79uwXL29TY76Z2rM5mHXA

2009/5/6 Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>:

> On Wed, May 06, 2009 at 10:28:38PM +0200, Linus Walleij wrote:
>> From: root <root@fecusia.(none)>
>
> Hello root :)

Hehe, I am experimenting with using the new git-send-email script that come
with newer git versions. It's great because it safely avoids whitespace
mangling and give you control over the send lines, but then it adds this in
instead and now I need to figure out how to get rid of that :-P

Linus Walleij

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

* Re: [PATCH] Use resource_size macro
       [not found] ` <1241641718-14585-1-git-send-email-linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
@ 2009-05-06 21:35   ` Wolfram Sang
       [not found]     ` <20090506213523.GB17311-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
  0 siblings, 1 reply; 10+ messages in thread
From: Wolfram Sang @ 2009-05-06 21:35 UTC (permalink / raw)
  To: Linus Walleij; +Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA

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

On Wed, May 06, 2009 at 10:28:38PM +0200, Linus Walleij wrote:
> From: root <root@fecusia.(none)>

Hello root :)

> This replace all instances in the i2c busses tree of
> res->end - res->start + 1 with the handy macro resource_size(res)
> from ioport.h (coming in from platform_device.h).

The include-chain is: platform_device.h -> device.h -> ioport.h

Looks somewhat safe to me; then again ~20 drivers have included it directly
already. Hmm, the latter one is the bullet-proof method, after all. Maybe this
could be done here, too?

> 
> This was created with a simple
> sed -i -e 's/\([a-z]*\)->end *- *[a-z]*->start *+ *1/resource_size(\1)/g'
> 
> Then manually replacing the PXA redefiniton of the same kind
> of macro manually. Recompiled some ARM defconfigs I could find to
> make a rough test so it shouldn't break anything, though I
> couldn't see exactly which configs you need for all the drivers.
> 
> Signed-off-by: Linus Walleij <linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>

Rest looked good to me:

Acked-by: Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>

> ---
>  drivers/i2c/busses/i2c-at91.c         |    8 ++++----
>  drivers/i2c/busses/i2c-au1550.c       |    2 +-
>  drivers/i2c/busses/i2c-bfin-twi.c     |    2 +-
>  drivers/i2c/busses/i2c-highlander.c   |    2 +-
>  drivers/i2c/busses/i2c-mv64xxx.c      |    2 +-
>  drivers/i2c/busses/i2c-ocores.c       |    8 ++++----
>  drivers/i2c/busses/i2c-omap.c         |    2 +-
>  drivers/i2c/busses/i2c-pca-platform.c |   10 ++++------
>  drivers/i2c/busses/i2c-pmcmsp.c       |    8 ++++----
>  drivers/i2c/busses/i2c-pxa.c          |    9 ++++-----
>  drivers/i2c/busses/i2c-versatile.c    |    6 +++---
>  11 files changed, 28 insertions(+), 31 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c
> index 67d9dc5..06e1ecb 100644
> --- a/drivers/i2c/busses/i2c-at91.c
> +++ b/drivers/i2c/busses/i2c-at91.c
> @@ -200,10 +200,10 @@ static int __devinit at91_i2c_probe(struct platform_device *pdev)
>  	if (!res)
>  		return -ENXIO;
>  
> -	if (!request_mem_region(res->start, res->end - res->start + 1, "at91_i2c"))
> +	if (!request_mem_region(res->start, resource_size(res), "at91_i2c"))
>  		return -EBUSY;
>  
> -	twi_base = ioremap(res->start, res->end - res->start + 1);
> +	twi_base = ioremap(res->start, resource_size(res));
>  	if (!twi_base) {
>  		rc = -ENOMEM;
>  		goto fail0;
> @@ -252,7 +252,7 @@ fail2:
>  fail1:
>  	iounmap(twi_base);
>  fail0:
> -	release_mem_region(res->start, res->end - res->start + 1);
> +	release_mem_region(res->start, resource_size(res));
>  
>  	return rc;
>  }
> @@ -268,7 +268,7 @@ static int __devexit at91_i2c_remove(struct platform_device *pdev)
>  
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	iounmap(twi_base);
> -	release_mem_region(res->start, res->end - res->start + 1);
> +	release_mem_region(res->start, resource_size(res));
>  
>  	clk_disable(twi_clk);		/* disable peripheral clock */
>  	clk_put(twi_clk);
> diff --git a/drivers/i2c/busses/i2c-au1550.c b/drivers/i2c/busses/i2c-au1550.c
> index f78ce52..532828b 100644
> --- a/drivers/i2c/busses/i2c-au1550.c
> +++ b/drivers/i2c/busses/i2c-au1550.c
> @@ -389,7 +389,7 @@ i2c_au1550_probe(struct platform_device *pdev)
>  		goto out;
>  	}
>  
> -	priv->ioarea = request_mem_region(r->start, r->end - r->start + 1,
> +	priv->ioarea = request_mem_region(r->start, resource_size(r),
>  					  pdev->name);
>  	if (!priv->ioarea) {
>  		ret = -EBUSY;
> diff --git a/drivers/i2c/busses/i2c-bfin-twi.c b/drivers/i2c/busses/i2c-bfin-twi.c
> index fc548b3..1fceaf0 100644
> --- a/drivers/i2c/busses/i2c-bfin-twi.c
> +++ b/drivers/i2c/busses/i2c-bfin-twi.c
> @@ -632,7 +632,7 @@ static int i2c_bfin_twi_probe(struct platform_device *pdev)
>  		goto out_error_get_res;
>  	}
>  
> -	iface->regs_base = ioremap(res->start, res->end - res->start + 1);
> +	iface->regs_base = ioremap(res->start, resource_size(res));
>  	if (iface->regs_base == NULL) {
>  		dev_err(&pdev->dev, "Cannot map IO\n");
>  		rc = -ENXIO;
> diff --git a/drivers/i2c/busses/i2c-highlander.c b/drivers/i2c/busses/i2c-highlander.c
> index e5a8dae..87ecace 100644
> --- a/drivers/i2c/busses/i2c-highlander.c
> +++ b/drivers/i2c/busses/i2c-highlander.c
> @@ -373,7 +373,7 @@ static int __devinit highlander_i2c_probe(struct platform_device *pdev)
>  	if (unlikely(!dev))
>  		return -ENOMEM;
>  
> -	dev->base = ioremap_nocache(res->start, res->end - res->start + 1);
> +	dev->base = ioremap_nocache(res->start, resource_size(res));
>  	if (unlikely(!dev->base)) {
>  		ret = -ENXIO;
>  		goto err;
> diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c
> index 5a4945d..c3869d9 100644
> --- a/drivers/i2c/busses/i2c-mv64xxx.c
> +++ b/drivers/i2c/busses/i2c-mv64xxx.c
> @@ -469,7 +469,7 @@ mv64xxx_i2c_map_regs(struct platform_device *pd,
>  	if (!r)
>  		return -ENODEV;
>  
> -	size = r->end - r->start + 1;
> +	size = resource_size(r);
>  
>  	if (!request_mem_region(r->start, size, drv_data->adapter.name))
>  		return -EBUSY;
> diff --git a/drivers/i2c/busses/i2c-ocores.c b/drivers/i2c/busses/i2c-ocores.c
> index e5193bf..eec9ab2 100644
> --- a/drivers/i2c/busses/i2c-ocores.c
> +++ b/drivers/i2c/busses/i2c-ocores.c
> @@ -233,14 +233,14 @@ static int __devinit ocores_i2c_probe(struct platform_device *pdev)
>  	if (!i2c)
>  		return -ENOMEM;
>  
> -	if (!request_mem_region(res->start, res->end - res->start + 1,
> +	if (!request_mem_region(res->start, resource_size(res),
>  				pdev->name)) {
>  		dev_err(&pdev->dev, "Memory region busy\n");
>  		ret = -EBUSY;
>  		goto request_mem_failed;
>  	}
>  
> -	i2c->base = ioremap(res->start, res->end - res->start + 1);
> +	i2c->base = ioremap(res->start, resource_size(res));
>  	if (!i2c->base) {
>  		dev_err(&pdev->dev, "Unable to map registers\n");
>  		ret = -EIO;
> @@ -278,7 +278,7 @@ add_adapter_failed:
>  request_irq_failed:
>  	iounmap(i2c->base);
>  map_failed:
> -	release_mem_region(res->start, res->end - res->start + 1);
> +	release_mem_region(res->start, resource_size(res));
>  request_mem_failed:
>  	kfree(i2c);
>  
> @@ -306,7 +306,7 @@ static int __devexit ocores_i2c_remove(struct platform_device* pdev)
>  
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	if (res)
> -		release_mem_region(res->start, res->end - res->start + 1);
> +		release_mem_region(res->start, resource_size(res));
>  
>  	kfree(i2c);
>  
> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
> index ece0125..af14635 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -807,7 +807,7 @@ omap_i2c_probe(struct platform_device *pdev)
>  	dev->idle = 1;
>  	dev->dev = &pdev->dev;
>  	dev->irq = irq->start;
> -	dev->base = ioremap(mem->start, mem->end - mem->start + 1);
> +	dev->base = ioremap(mem->start, resource_size(mem));
>  	if (!dev->base) {
>  		r = -ENOMEM;
>  		goto err_free_mem;
> diff --git a/drivers/i2c/busses/i2c-pca-platform.c b/drivers/i2c/busses/i2c-pca-platform.c
> index 7b23891..c4df9d4 100644
> --- a/drivers/i2c/busses/i2c-pca-platform.c
> +++ b/drivers/i2c/busses/i2c-pca-platform.c
> @@ -27,8 +27,6 @@
>  #include <asm/irq.h>
>  #include <asm/io.h>
>  
> -#define res_len(r)		((r)->end - (r)->start + 1)
> -
>  struct i2c_pca_pf_data {
>  	void __iomem			*reg_base;
>  	int				irq;	/* if 0, use polling */
> @@ -148,7 +146,7 @@ static int __devinit i2c_pca_pf_probe(struct platform_device *pdev)
>  		goto e_print;
>  	}
>  
> -	if (!request_mem_region(res->start, res_len(res), res->name)) {
> +	if (!request_mem_region(res->start, resource_size(res), res->name)) {
>  		ret = -ENOMEM;
>  		goto e_print;
>  	}
> @@ -161,13 +159,13 @@ static int __devinit i2c_pca_pf_probe(struct platform_device *pdev)
>  
>  	init_waitqueue_head(&i2c->wait);
>  
> -	i2c->reg_base = ioremap(res->start, res_len(res));
> +	i2c->reg_base = ioremap(res->start, resource_size(res));
>  	if (!i2c->reg_base) {
>  		ret = -ENOMEM;
>  		goto e_remap;
>  	}
>  	i2c->io_base = res->start;
> -	i2c->io_size = res_len(res);
> +	i2c->io_size = resource_size(res);
>  	i2c->irq = irq;
>  
>  	i2c->adap.nr = pdev->id >= 0 ? pdev->id : 0;
> @@ -250,7 +248,7 @@ e_reqirq:
>  e_remap:
>  	kfree(i2c);
>  e_alloc:
> -	release_mem_region(res->start, res_len(res));
> +	release_mem_region(res->start, resource_size(res));
>  e_print:
>  	printk(KERN_ERR "Registering PCA9564/PCA9665 FAILED! (%d)\n", ret);
>  	return ret;
> diff --git a/drivers/i2c/busses/i2c-pmcmsp.c b/drivers/i2c/busses/i2c-pmcmsp.c
> index 0bdb2d7..7b57d5f 100644
> --- a/drivers/i2c/busses/i2c-pmcmsp.c
> +++ b/drivers/i2c/busses/i2c-pmcmsp.c
> @@ -283,7 +283,7 @@ static int __devinit pmcmsptwi_probe(struct platform_device *pldev)
>  	}
>  
>  	/* reserve the memory region */
> -	if (!request_mem_region(res->start, res->end - res->start + 1,
> +	if (!request_mem_region(res->start, resource_size(res),
>  				pldev->name)) {
>  		dev_err(&pldev->dev,
>  			"Unable to get memory/io address region 0x%08x\n",
> @@ -294,7 +294,7 @@ static int __devinit pmcmsptwi_probe(struct platform_device *pldev)
>  
>  	/* remap the memory */
>  	pmcmsptwi_data.iobase = ioremap_nocache(res->start,
> -						res->end - res->start + 1);
> +						resource_size(res));
>  	if (!pmcmsptwi_data.iobase) {
>  		dev_err(&pldev->dev,
>  			"Unable to ioremap address 0x%08x\n", res->start);
> @@ -360,7 +360,7 @@ ret_unmap:
>  	iounmap(pmcmsptwi_data.iobase);
>  
>  ret_unreserve:
> -	release_mem_region(res->start, res->end - res->start + 1);
> +	release_mem_region(res->start, resource_size(res));
>  
>  ret_err:
>  	return rc;
> @@ -385,7 +385,7 @@ static int __devexit pmcmsptwi_remove(struct platform_device *pldev)
>  	iounmap(pmcmsptwi_data.iobase);
>  
>  	res = platform_get_resource(pldev, IORESOURCE_MEM, 0);
> -	release_mem_region(res->start, res->end - res->start + 1);
> +	release_mem_region(res->start, resource_size(res));
>  
>  	return 0;
>  }
> diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
> index c1405c8..b330883 100644
> --- a/drivers/i2c/busses/i2c-pxa.c
> +++ b/drivers/i2c/busses/i2c-pxa.c
> @@ -979,7 +979,6 @@ static const struct i2c_algorithm i2c_pxa_pio_algorithm = {
>  	.functionality	= i2c_pxa_functionality,
>  };
>  
> -#define res_len(r)		((r)->end - (r)->start + 1)
>  static int i2c_pxa_probe(struct platform_device *dev)
>  {
>  	struct pxa_i2c *i2c;
> @@ -993,7 +992,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
>  	if (res == NULL || irq < 0)
>  		return -ENODEV;
>  
> -	if (!request_mem_region(res->start, res_len(res), res->name))
> +	if (!request_mem_region(res->start, resource_size(res), res->name))
>  		return -ENOMEM;
>  
>  	i2c = kzalloc(sizeof(struct pxa_i2c), GFP_KERNEL);
> @@ -1023,7 +1022,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
>  		goto eclk;
>  	}
>  
> -	i2c->reg_base = ioremap(res->start, res_len(res));
> +	i2c->reg_base = ioremap(res->start, resource_size(res));
>  	if (!i2c->reg_base) {
>  		ret = -EIO;
>  		goto eremap;
> @@ -1031,7 +1030,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
>  	i2c->reg_shift = (cpu_is_pxa3xx() && (dev->id == 1)) ? 0 : 1;
>  
>  	i2c->iobase = res->start;
> -	i2c->iosize = res_len(res);
> +	i2c->iosize = resource_size(res);
>  
>  	i2c->irq = irq;
>  
> @@ -1095,7 +1094,7 @@ eremap:
>  eclk:
>  	kfree(i2c);
>  emalloc:
> -	release_mem_region(res->start, res_len(res));
> +	release_mem_region(res->start, resource_size(res));
>  	return ret;
>  }
>  
> diff --git a/drivers/i2c/busses/i2c-versatile.c b/drivers/i2c/busses/i2c-versatile.c
> index fede619..70de821 100644
> --- a/drivers/i2c/busses/i2c-versatile.c
> +++ b/drivers/i2c/busses/i2c-versatile.c
> @@ -76,7 +76,7 @@ static int i2c_versatile_probe(struct platform_device *dev)
>  		goto err_out;
>  	}
>  
> -	if (!request_mem_region(r->start, r->end - r->start + 1, "versatile-i2c")) {
> +	if (!request_mem_region(r->start, resource_size(r), "versatile-i2c")) {
>  		ret = -EBUSY;
>  		goto err_out;
>  	}
> @@ -87,7 +87,7 @@ static int i2c_versatile_probe(struct platform_device *dev)
>  		goto err_release;
>  	}
>  
> -	i2c->base = ioremap(r->start, r->end - r->start + 1);
> +	i2c->base = ioremap(r->start, resource_size(r));
>  	if (!i2c->base) {
>  		ret = -ENOMEM;
>  		goto err_free;
> @@ -118,7 +118,7 @@ static int i2c_versatile_probe(struct platform_device *dev)
>   err_free:
>  	kfree(i2c);
>   err_release:
> -	release_mem_region(r->start, r->end - r->start + 1);
> +	release_mem_region(r->start, resource_size(r));
>   err_out:
>  	return ret;
>  }
> -- 
> 1.6.0.6
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

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

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

* [PATCH] Use resource_size macro
@ 2009-05-06 20:28 Linus Walleij
       [not found] ` <1241641718-14585-1-git-send-email-linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
  0 siblings, 1 reply; 10+ messages in thread
From: Linus Walleij @ 2009-05-06 20:28 UTC (permalink / raw)
  To: linux-i2c-u79uwXL29TY76Z2rM5mHXA; +Cc: Linus Walleij

From: root <root@fecusia.(none)>

This replace all instances in the i2c busses tree of
res->end - res->start + 1 with the handy macro resource_size(res)
from ioport.h (coming in from platform_device.h).

This was created with a simple
sed -i -e 's/\([a-z]*\)->end *- *[a-z]*->start *+ *1/resource_size(\1)/g'

Then manually replacing the PXA redefiniton of the same kind
of macro manually. Recompiled some ARM defconfigs I could find to
make a rough test so it shouldn't break anything, though I
couldn't see exactly which configs you need for all the drivers.

Signed-off-by: Linus Walleij <linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
---
 drivers/i2c/busses/i2c-at91.c         |    8 ++++----
 drivers/i2c/busses/i2c-au1550.c       |    2 +-
 drivers/i2c/busses/i2c-bfin-twi.c     |    2 +-
 drivers/i2c/busses/i2c-highlander.c   |    2 +-
 drivers/i2c/busses/i2c-mv64xxx.c      |    2 +-
 drivers/i2c/busses/i2c-ocores.c       |    8 ++++----
 drivers/i2c/busses/i2c-omap.c         |    2 +-
 drivers/i2c/busses/i2c-pca-platform.c |   10 ++++------
 drivers/i2c/busses/i2c-pmcmsp.c       |    8 ++++----
 drivers/i2c/busses/i2c-pxa.c          |    9 ++++-----
 drivers/i2c/busses/i2c-versatile.c    |    6 +++---
 11 files changed, 28 insertions(+), 31 deletions(-)

diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c
index 67d9dc5..06e1ecb 100644
--- a/drivers/i2c/busses/i2c-at91.c
+++ b/drivers/i2c/busses/i2c-at91.c
@@ -200,10 +200,10 @@ static int __devinit at91_i2c_probe(struct platform_device *pdev)
 	if (!res)
 		return -ENXIO;
 
-	if (!request_mem_region(res->start, res->end - res->start + 1, "at91_i2c"))
+	if (!request_mem_region(res->start, resource_size(res), "at91_i2c"))
 		return -EBUSY;
 
-	twi_base = ioremap(res->start, res->end - res->start + 1);
+	twi_base = ioremap(res->start, resource_size(res));
 	if (!twi_base) {
 		rc = -ENOMEM;
 		goto fail0;
@@ -252,7 +252,7 @@ fail2:
 fail1:
 	iounmap(twi_base);
 fail0:
-	release_mem_region(res->start, res->end - res->start + 1);
+	release_mem_region(res->start, resource_size(res));
 
 	return rc;
 }
@@ -268,7 +268,7 @@ static int __devexit at91_i2c_remove(struct platform_device *pdev)
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	iounmap(twi_base);
-	release_mem_region(res->start, res->end - res->start + 1);
+	release_mem_region(res->start, resource_size(res));
 
 	clk_disable(twi_clk);		/* disable peripheral clock */
 	clk_put(twi_clk);
diff --git a/drivers/i2c/busses/i2c-au1550.c b/drivers/i2c/busses/i2c-au1550.c
index f78ce52..532828b 100644
--- a/drivers/i2c/busses/i2c-au1550.c
+++ b/drivers/i2c/busses/i2c-au1550.c
@@ -389,7 +389,7 @@ i2c_au1550_probe(struct platform_device *pdev)
 		goto out;
 	}
 
-	priv->ioarea = request_mem_region(r->start, r->end - r->start + 1,
+	priv->ioarea = request_mem_region(r->start, resource_size(r),
 					  pdev->name);
 	if (!priv->ioarea) {
 		ret = -EBUSY;
diff --git a/drivers/i2c/busses/i2c-bfin-twi.c b/drivers/i2c/busses/i2c-bfin-twi.c
index fc548b3..1fceaf0 100644
--- a/drivers/i2c/busses/i2c-bfin-twi.c
+++ b/drivers/i2c/busses/i2c-bfin-twi.c
@@ -632,7 +632,7 @@ static int i2c_bfin_twi_probe(struct platform_device *pdev)
 		goto out_error_get_res;
 	}
 
-	iface->regs_base = ioremap(res->start, res->end - res->start + 1);
+	iface->regs_base = ioremap(res->start, resource_size(res));
 	if (iface->regs_base == NULL) {
 		dev_err(&pdev->dev, "Cannot map IO\n");
 		rc = -ENXIO;
diff --git a/drivers/i2c/busses/i2c-highlander.c b/drivers/i2c/busses/i2c-highlander.c
index e5a8dae..87ecace 100644
--- a/drivers/i2c/busses/i2c-highlander.c
+++ b/drivers/i2c/busses/i2c-highlander.c
@@ -373,7 +373,7 @@ static int __devinit highlander_i2c_probe(struct platform_device *pdev)
 	if (unlikely(!dev))
 		return -ENOMEM;
 
-	dev->base = ioremap_nocache(res->start, res->end - res->start + 1);
+	dev->base = ioremap_nocache(res->start, resource_size(res));
 	if (unlikely(!dev->base)) {
 		ret = -ENXIO;
 		goto err;
diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c
index 5a4945d..c3869d9 100644
--- a/drivers/i2c/busses/i2c-mv64xxx.c
+++ b/drivers/i2c/busses/i2c-mv64xxx.c
@@ -469,7 +469,7 @@ mv64xxx_i2c_map_regs(struct platform_device *pd,
 	if (!r)
 		return -ENODEV;
 
-	size = r->end - r->start + 1;
+	size = resource_size(r);
 
 	if (!request_mem_region(r->start, size, drv_data->adapter.name))
 		return -EBUSY;
diff --git a/drivers/i2c/busses/i2c-ocores.c b/drivers/i2c/busses/i2c-ocores.c
index e5193bf..eec9ab2 100644
--- a/drivers/i2c/busses/i2c-ocores.c
+++ b/drivers/i2c/busses/i2c-ocores.c
@@ -233,14 +233,14 @@ static int __devinit ocores_i2c_probe(struct platform_device *pdev)
 	if (!i2c)
 		return -ENOMEM;
 
-	if (!request_mem_region(res->start, res->end - res->start + 1,
+	if (!request_mem_region(res->start, resource_size(res),
 				pdev->name)) {
 		dev_err(&pdev->dev, "Memory region busy\n");
 		ret = -EBUSY;
 		goto request_mem_failed;
 	}
 
-	i2c->base = ioremap(res->start, res->end - res->start + 1);
+	i2c->base = ioremap(res->start, resource_size(res));
 	if (!i2c->base) {
 		dev_err(&pdev->dev, "Unable to map registers\n");
 		ret = -EIO;
@@ -278,7 +278,7 @@ add_adapter_failed:
 request_irq_failed:
 	iounmap(i2c->base);
 map_failed:
-	release_mem_region(res->start, res->end - res->start + 1);
+	release_mem_region(res->start, resource_size(res));
 request_mem_failed:
 	kfree(i2c);
 
@@ -306,7 +306,7 @@ static int __devexit ocores_i2c_remove(struct platform_device* pdev)
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	if (res)
-		release_mem_region(res->start, res->end - res->start + 1);
+		release_mem_region(res->start, resource_size(res));
 
 	kfree(i2c);
 
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index ece0125..af14635 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -807,7 +807,7 @@ omap_i2c_probe(struct platform_device *pdev)
 	dev->idle = 1;
 	dev->dev = &pdev->dev;
 	dev->irq = irq->start;
-	dev->base = ioremap(mem->start, mem->end - mem->start + 1);
+	dev->base = ioremap(mem->start, resource_size(mem));
 	if (!dev->base) {
 		r = -ENOMEM;
 		goto err_free_mem;
diff --git a/drivers/i2c/busses/i2c-pca-platform.c b/drivers/i2c/busses/i2c-pca-platform.c
index 7b23891..c4df9d4 100644
--- a/drivers/i2c/busses/i2c-pca-platform.c
+++ b/drivers/i2c/busses/i2c-pca-platform.c
@@ -27,8 +27,6 @@
 #include <asm/irq.h>
 #include <asm/io.h>
 
-#define res_len(r)		((r)->end - (r)->start + 1)
-
 struct i2c_pca_pf_data {
 	void __iomem			*reg_base;
 	int				irq;	/* if 0, use polling */
@@ -148,7 +146,7 @@ static int __devinit i2c_pca_pf_probe(struct platform_device *pdev)
 		goto e_print;
 	}
 
-	if (!request_mem_region(res->start, res_len(res), res->name)) {
+	if (!request_mem_region(res->start, resource_size(res), res->name)) {
 		ret = -ENOMEM;
 		goto e_print;
 	}
@@ -161,13 +159,13 @@ static int __devinit i2c_pca_pf_probe(struct platform_device *pdev)
 
 	init_waitqueue_head(&i2c->wait);
 
-	i2c->reg_base = ioremap(res->start, res_len(res));
+	i2c->reg_base = ioremap(res->start, resource_size(res));
 	if (!i2c->reg_base) {
 		ret = -ENOMEM;
 		goto e_remap;
 	}
 	i2c->io_base = res->start;
-	i2c->io_size = res_len(res);
+	i2c->io_size = resource_size(res);
 	i2c->irq = irq;
 
 	i2c->adap.nr = pdev->id >= 0 ? pdev->id : 0;
@@ -250,7 +248,7 @@ e_reqirq:
 e_remap:
 	kfree(i2c);
 e_alloc:
-	release_mem_region(res->start, res_len(res));
+	release_mem_region(res->start, resource_size(res));
 e_print:
 	printk(KERN_ERR "Registering PCA9564/PCA9665 FAILED! (%d)\n", ret);
 	return ret;
diff --git a/drivers/i2c/busses/i2c-pmcmsp.c b/drivers/i2c/busses/i2c-pmcmsp.c
index 0bdb2d7..7b57d5f 100644
--- a/drivers/i2c/busses/i2c-pmcmsp.c
+++ b/drivers/i2c/busses/i2c-pmcmsp.c
@@ -283,7 +283,7 @@ static int __devinit pmcmsptwi_probe(struct platform_device *pldev)
 	}
 
 	/* reserve the memory region */
-	if (!request_mem_region(res->start, res->end - res->start + 1,
+	if (!request_mem_region(res->start, resource_size(res),
 				pldev->name)) {
 		dev_err(&pldev->dev,
 			"Unable to get memory/io address region 0x%08x\n",
@@ -294,7 +294,7 @@ static int __devinit pmcmsptwi_probe(struct platform_device *pldev)
 
 	/* remap the memory */
 	pmcmsptwi_data.iobase = ioremap_nocache(res->start,
-						res->end - res->start + 1);
+						resource_size(res));
 	if (!pmcmsptwi_data.iobase) {
 		dev_err(&pldev->dev,
 			"Unable to ioremap address 0x%08x\n", res->start);
@@ -360,7 +360,7 @@ ret_unmap:
 	iounmap(pmcmsptwi_data.iobase);
 
 ret_unreserve:
-	release_mem_region(res->start, res->end - res->start + 1);
+	release_mem_region(res->start, resource_size(res));
 
 ret_err:
 	return rc;
@@ -385,7 +385,7 @@ static int __devexit pmcmsptwi_remove(struct platform_device *pldev)
 	iounmap(pmcmsptwi_data.iobase);
 
 	res = platform_get_resource(pldev, IORESOURCE_MEM, 0);
-	release_mem_region(res->start, res->end - res->start + 1);
+	release_mem_region(res->start, resource_size(res));
 
 	return 0;
 }
diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
index c1405c8..b330883 100644
--- a/drivers/i2c/busses/i2c-pxa.c
+++ b/drivers/i2c/busses/i2c-pxa.c
@@ -979,7 +979,6 @@ static const struct i2c_algorithm i2c_pxa_pio_algorithm = {
 	.functionality	= i2c_pxa_functionality,
 };
 
-#define res_len(r)		((r)->end - (r)->start + 1)
 static int i2c_pxa_probe(struct platform_device *dev)
 {
 	struct pxa_i2c *i2c;
@@ -993,7 +992,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
 	if (res == NULL || irq < 0)
 		return -ENODEV;
 
-	if (!request_mem_region(res->start, res_len(res), res->name))
+	if (!request_mem_region(res->start, resource_size(res), res->name))
 		return -ENOMEM;
 
 	i2c = kzalloc(sizeof(struct pxa_i2c), GFP_KERNEL);
@@ -1023,7 +1022,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
 		goto eclk;
 	}
 
-	i2c->reg_base = ioremap(res->start, res_len(res));
+	i2c->reg_base = ioremap(res->start, resource_size(res));
 	if (!i2c->reg_base) {
 		ret = -EIO;
 		goto eremap;
@@ -1031,7 +1030,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
 	i2c->reg_shift = (cpu_is_pxa3xx() && (dev->id == 1)) ? 0 : 1;
 
 	i2c->iobase = res->start;
-	i2c->iosize = res_len(res);
+	i2c->iosize = resource_size(res);
 
 	i2c->irq = irq;
 
@@ -1095,7 +1094,7 @@ eremap:
 eclk:
 	kfree(i2c);
 emalloc:
-	release_mem_region(res->start, res_len(res));
+	release_mem_region(res->start, resource_size(res));
 	return ret;
 }
 
diff --git a/drivers/i2c/busses/i2c-versatile.c b/drivers/i2c/busses/i2c-versatile.c
index fede619..70de821 100644
--- a/drivers/i2c/busses/i2c-versatile.c
+++ b/drivers/i2c/busses/i2c-versatile.c
@@ -76,7 +76,7 @@ static int i2c_versatile_probe(struct platform_device *dev)
 		goto err_out;
 	}
 
-	if (!request_mem_region(r->start, r->end - r->start + 1, "versatile-i2c")) {
+	if (!request_mem_region(r->start, resource_size(r), "versatile-i2c")) {
 		ret = -EBUSY;
 		goto err_out;
 	}
@@ -87,7 +87,7 @@ static int i2c_versatile_probe(struct platform_device *dev)
 		goto err_release;
 	}
 
-	i2c->base = ioremap(r->start, r->end - r->start + 1);
+	i2c->base = ioremap(r->start, resource_size(r));
 	if (!i2c->base) {
 		ret = -ENOMEM;
 		goto err_free;
@@ -118,7 +118,7 @@ static int i2c_versatile_probe(struct platform_device *dev)
  err_free:
 	kfree(i2c);
  err_release:
-	release_mem_region(r->start, r->end - r->start + 1);
+	release_mem_region(r->start, resource_size(r));
  err_out:
 	return ret;
 }
-- 
1.6.0.6

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

end of thread, other threads:[~2009-06-14 13:06 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-05-06 20:39 [PATCH] Use resource_size macro Linus Walleij
     [not found] ` <1241642367-14639-1-git-send-email-linus.ml.walleij-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-05-11 23:12   ` Ben Dooks
2009-06-13  9:41   ` Ben Dooks
     [not found]     ` <20090613094133.GF20446-elnMNo+KYs3pIgCt6eIbzw@public.gmane.org>
2009-06-13 19:08       ` Linus Walleij
  -- strict thread matches above, loose matches on Subject: below --
2009-06-13 22:20 linus.walleij-0IS4wlFg1OjSUeElwK9/Pw
     [not found] ` <1244931636-23920-1-git-send-email-linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
2009-06-14 13:06   ` Ben Dooks
2009-05-06 20:28 Linus Walleij
     [not found] ` <1241641718-14585-1-git-send-email-linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
2009-05-06 21:35   ` Wolfram Sang
     [not found]     ` <20090506213523.GB17311-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-06 21:50       ` Linus Walleij
     [not found]         ` <63386a3d0905061450t23b74998r68fd12198aab103b-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-07  7:20           ` Jean Delvare

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.