diff options
author | Joe Perches <joe@perches.com> | 2011-03-23 15:55:37 -0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2011-04-10 11:01:04 -0400 |
commit | b0c3af5ef0d7b38eb1ba522becd47123ac9736d2 (patch) | |
tree | 01d3222cd3fe0d8204bc69569087db85cbd24867 /arch | |
parent | 99172a2f9edb3517f610fb93356a6a6a0c30f0c8 (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.c | 7 |
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; |