diff options
author | Thierry Reding <thierry.reding@avionic-design.de> | 2013-01-21 10:09:01 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-22 19:41:56 (GMT) |
commit | 641d03422a59b1e790b7edabb16bc62da71130c3 (patch) | |
tree | 664b32773f331f9d0b60bd0feaae831791c1d3ff /drivers/gpio/gpio-mvebu.c | |
parent | c7c9e1c372452688f0ef2af794789bbd00f9fa51 (diff) | |
download | linux-641d03422a59b1e790b7edabb16bc62da71130c3.tar.xz |
gpio: Convert to devm_ioremap_resource()
Convert all uses of devm_request_and_ioremap() to the newly introduced
devm_ioremap_resource() which provides more consistent error handling.
devm_ioremap_resource() provides its own error messages so all explicit
error messages can be removed from the failure code paths.
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/gpio/gpio-mvebu.c')
-rw-r--r-- | drivers/gpio/gpio-mvebu.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c index 7d9bd94..bf6c7c9 100644 --- a/drivers/gpio/gpio-mvebu.c +++ b/drivers/gpio/gpio-mvebu.c @@ -33,6 +33,7 @@ * interrupts. */ +#include <linux/err.h> #include <linux/module.h> #include <linux/gpio.h> #include <linux/irq.h> @@ -544,11 +545,10 @@ static int mvebu_gpio_probe(struct platform_device *pdev) mvchip->chip.of_node = np; spin_lock_init(&mvchip->lock); - mvchip->membase = devm_request_and_ioremap(&pdev->dev, res); - if (! mvchip->membase) { - dev_err(&pdev->dev, "Cannot ioremap\n"); + mvchip->membase = devm_ioremap_resource(&pdev->dev, res); + if (IS_ERR(mvchip->membase)) { kfree(mvchip->chip.label); - return -ENOMEM; + return PTR_ERR(mvchip->membase); } /* The Armada XP has a second range of registers for the @@ -561,11 +561,11 @@ static int mvebu_gpio_probe(struct platform_device *pdev) return -ENODEV; } - mvchip->percpu_membase = devm_request_and_ioremap(&pdev->dev, res); - if (! mvchip->percpu_membase) { - dev_err(&pdev->dev, "Cannot ioremap\n"); + mvchip->percpu_membase = devm_ioremap_resource(&pdev->dev, + res); + if (IS_ERR(mvchip->percpu_membase)) { kfree(mvchip->chip.label); - return -ENOMEM; + return PTR_ERR(mvchip->percpu_membase); } } |