diff --git a/[refs] b/[refs] index e21d532d3b99..a8f2895f2047 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f562988350361bf4118dd3c3e192dff763b493d9 +refs/heads/master: 3d1c89b49119820a60c03e718108c553ce9e6b22 diff --git a/trunk/arch/arm/mach-u300/gpio.c b/trunk/arch/arm/mach-u300/gpio.c index 94837a4e146b..d92790140fe5 100644 --- a/trunk/arch/arm/mach-u300/gpio.c +++ b/trunk/arch/arm/mach-u300/gpio.c @@ -581,7 +581,8 @@ static int __init gpio_probe(struct platform_device *pdev) if (!memres) goto err_no_resource; - if (!request_mem_region(memres->start, resource_size(memres), "GPIO Controller")) { + if (request_mem_region(memres->start, memres->end - memres->start, "GPIO Controller") + == NULL) { err = -ENODEV; goto err_no_ioregion; } @@ -639,7 +640,7 @@ static int __init gpio_probe(struct platform_device *pdev) free_irq(gpio_ports[i].irq, &gpio_ports[i]); iounmap(virtbase); err_no_ioremap: - release_mem_region(memres->start, resource_size(memres)); + release_mem_region(memres->start, memres->end - memres->start); err_no_ioregion: err_no_resource: clk_disable(clk); @@ -659,7 +660,7 @@ static int __exit gpio_remove(struct platform_device *pdev) for (i = 0 ; i < U300_GPIO_NUM_PORTS; i++) free_irq(gpio_ports[i].irq, &gpio_ports[i]); iounmap(virtbase); - release_mem_region(memres->start, resource_size(memres)); + release_mem_region(memres->start, memres->end - memres->start); clk_disable(clk); clk_put(clk); return 0;