diff options
author | Thierry Reding <thierry.reding@avionic-design.de> | 2013-01-21 05:09:01 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-22 14:41:56 -0500 |
commit | 641d03422a59b1e790b7edabb16bc62da71130c3 (patch) | |
tree | 664b32773f331f9d0b60bd0feaae831791c1d3ff /drivers/gpio/gpio-mvebu.c | |
parent | c7c9e1c372452688f0ef2af794789bbd00f9fa51 (diff) |
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 7d9bd94be8d2..bf6c7c989aee 100644 --- a/drivers/gpio/gpio-mvebu.c +++ b/drivers/gpio/gpio-mvebu.c | |||
@@ -33,6 +33,7 @@ | |||
33 | * interrupts. | 33 | * interrupts. |
34 | */ | 34 | */ |
35 | 35 | ||
36 | #include <linux/err.h> | ||
36 | #include <linux/module.h> | 37 | #include <linux/module.h> |
37 | #include <linux/gpio.h> | 38 | #include <linux/gpio.h> |
38 | #include <linux/irq.h> | 39 | #include <linux/irq.h> |
@@ -544,11 +545,10 @@ static int mvebu_gpio_probe(struct platform_device *pdev) | |||
544 | mvchip->chip.of_node = np; | 545 | mvchip->chip.of_node = np; |
545 | 546 | ||
546 | spin_lock_init(&mvchip->lock); | 547 | spin_lock_init(&mvchip->lock); |
547 | mvchip->membase = devm_request_and_ioremap(&pdev->dev, res); | 548 | mvchip->membase = devm_ioremap_resource(&pdev->dev, res); |
548 | if (! mvchip->membase) { | 549 | if (IS_ERR(mvchip->membase)) { |
549 | dev_err(&pdev->dev, "Cannot ioremap\n"); | ||
550 | kfree(mvchip->chip.label); | 550 | kfree(mvchip->chip.label); |
551 | return -ENOMEM; | 551 | return PTR_ERR(mvchip->membase); |
552 | } | 552 | } |
553 | 553 | ||
554 | /* The Armada XP has a second range of registers for the | 554 | /* The Armada XP has a second range of registers for the |
@@ -561,11 +561,11 @@ static int mvebu_gpio_probe(struct platform_device *pdev) | |||
561 | return -ENODEV; | 561 | return -ENODEV; |
562 | } | 562 | } |
563 | 563 | ||
564 | mvchip->percpu_membase = devm_request_and_ioremap(&pdev->dev, res); | 564 | mvchip->percpu_membase = devm_ioremap_resource(&pdev->dev, |
565 | if (! mvchip->percpu_membase) { | 565 | res); |
566 | dev_err(&pdev->dev, "Cannot ioremap\n"); | 566 | if (IS_ERR(mvchip->percpu_membase)) { |
567 | kfree(mvchip->chip.label); | 567 | kfree(mvchip->chip.label); |
568 | return -ENOMEM; | 568 | return PTR_ERR(mvchip->percpu_membase); |
569 | } | 569 | } |
570 | } | 570 | } |
571 | 571 | ||