aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorJoe Perches <joe@perches.com>2011-03-23 15:55:37 -0400
committerJiri Kosina <jkosina@suse.cz>2011-04-10 11:01:04 -0400
commitb0c3af5ef0d7b38eb1ba522becd47123ac9736d2 (patch)
tree01d3222cd3fe0d8204bc69569087db85cbd24867 /arch
parent99172a2f9edb3517f610fb93356a6a6a0c30f0c8 (diff)
arm: mach-u300/gpio: Fix mem_region resource size miscalculations
Convert off-by-1 r->end - r->start to resource_size(r) Signed-off-by: Joe Perches <joe@perches.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-u300/gpio.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/arm/mach-u300/gpio.c b/arch/arm/mach-u300/gpio.c
index d92790140fe5..94837a4e146b 100644
--- a/arch/arm/mach-u300/gpio.c
+++ b/arch/arm/mach-u300/gpio.c
@@ -581,8 +581,7 @@ static int __init gpio_probe(struct platform_device *pdev)
581 if (!memres) 581 if (!memres)
582 goto err_no_resource; 582 goto err_no_resource;
583 583
584 if (request_mem_region(memres->start, memres->end - memres->start, "GPIO Controller") 584 if (!request_mem_region(memres->start, resource_size(memres), "GPIO Controller")) {
585 == NULL) {
586 err = -ENODEV; 585 err = -ENODEV;
587 goto err_no_ioregion; 586 goto err_no_ioregion;
588 } 587 }
@@ -640,7 +639,7 @@ static int __init gpio_probe(struct platform_device *pdev)
640 free_irq(gpio_ports[i].irq, &gpio_ports[i]); 639 free_irq(gpio_ports[i].irq, &gpio_ports[i]);
641 iounmap(virtbase); 640 iounmap(virtbase);
642 err_no_ioremap: 641 err_no_ioremap:
643 release_mem_region(memres->start, memres->end - memres->start); 642 release_mem_region(memres->start, resource_size(memres));
644 err_no_ioregion: 643 err_no_ioregion:
645 err_no_resource: 644 err_no_resource:
646 clk_disable(clk); 645 clk_disable(clk);
@@ -660,7 +659,7 @@ static int __exit gpio_remove(struct platform_device *pdev)
660 for (i = 0 ; i < U300_GPIO_NUM_PORTS; i++) 659 for (i = 0 ; i < U300_GPIO_NUM_PORTS; i++)
661 free_irq(gpio_ports[i].irq, &gpio_ports[i]); 660 free_irq(gpio_ports[i].irq, &gpio_ports[i]);
662 iounmap(virtbase); 661 iounmap(virtbase);
663 release_mem_region(memres->start, memres->end - memres->start); 662 release_mem_region(memres->start, resource_size(memres));
664 clk_disable(clk); 663 clk_disable(clk);
665 clk_put(clk); 664 clk_put(clk);
666 return 0; 665 return 0;