diff options
Diffstat (limited to 'drivers/gpio/gpio-mvebu.c')
| -rw-r--r-- | drivers/gpio/gpio-mvebu.c | 18 | 
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c index 6819d63cb16..7472182967c 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,9 @@ 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"); -		return -ENOMEM; -	} +	mvchip->membase = devm_ioremap_resource(&pdev->dev, res); +	if (IS_ERR(mvchip->membase)) +		return PTR_ERR(mvchip->membase);  	/* The Armada XP has a second range of registers for the  	 * per-CPU registers */ @@ -559,11 +558,10 @@ 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"); -			return -ENOMEM; -		} +		mvchip->percpu_membase = devm_ioremap_resource(&pdev->dev, +							       res); +		if (IS_ERR(mvchip->percpu_membase))  +			return PTR_ERR(mvchip->percpu_membase);  	}  	/*  |