Skip to content

Commit

Permalink
i2c: Use resource_size macro
Browse files Browse the repository at this point in the history
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@stericsson.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
  • Loading branch information
Linus Walleij authored and Ben Dooks committed Jun 16, 2009
1 parent 18904c0 commit c6ffdde
Show file tree
Hide file tree
Showing 11 changed files with 28 additions and 31 deletions.
8 changes: 4 additions & 4 deletions drivers/i2c/busses/i2c-at91.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -252,7 +252,7 @@ static int __devinit at91_i2c_probe(struct platform_device *pdev)
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;
}
Expand All @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion drivers/i2c/busses/i2c-au1550.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion drivers/i2c/busses/i2c-bfin-twi.c
Original file line number Diff line number Diff line change
Expand Up @@ -652,7 +652,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;
Expand Down
2 changes: 1 addition & 1 deletion drivers/i2c/busses/i2c-highlander.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion drivers/i2c/busses/i2c-mv64xxx.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
8 changes: 4 additions & 4 deletions drivers/i2c/busses/i2c-ocores.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -283,7 +283,7 @@ static int __devinit ocores_i2c_probe(struct platform_device *pdev)
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);

Expand Down Expand Up @@ -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);

Expand Down
2 changes: 1 addition & 1 deletion drivers/i2c/busses/i2c-omap.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
10 changes: 4 additions & 6 deletions drivers/i2c/busses/i2c-pca-platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down Expand Up @@ -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;
}
Expand All @@ -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;
Expand Down Expand Up @@ -250,7 +248,7 @@ static int __devinit i2c_pca_pf_probe(struct platform_device *pdev)
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;
Expand Down
8 changes: 4 additions & 4 deletions drivers/i2c/busses/i2c-pmcmsp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -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);
Expand Down Expand Up @@ -360,7 +360,7 @@ static int __devinit pmcmsptwi_probe(struct platform_device *pldev)
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;
Expand All @@ -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;
}
Expand Down
9 changes: 4 additions & 5 deletions drivers/i2c/busses/i2c-pxa.c
Original file line number Diff line number Diff line change
Expand Up @@ -993,7 +993,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;
Expand All @@ -1008,7 +1007,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);
Expand Down Expand Up @@ -1038,15 +1037,15 @@ 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;
}
i2c->reg_shift = REG_SHIFT(id->driver_data);

i2c->iobase = res->start;
i2c->iosize = res_len(res);
i2c->iosize = resource_size(res);

i2c->irq = irq;

Expand Down Expand Up @@ -1110,7 +1109,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
eclk:
kfree(i2c);
emalloc:
release_mem_region(res->start, res_len(res));
release_mem_region(res->start, resource_size(res));
return ret;
}

Expand Down
6 changes: 3 additions & 3 deletions drivers/i2c/busses/i2c-versatile.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand All @@ -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;
Expand Down Expand Up @@ -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;
}
Expand Down

0 comments on commit c6ffdde

Please sign in to comment.