diff options
Diffstat (limited to 'drivers/gpio/gpio-mxs.c')
-rw-r--r-- | drivers/gpio/gpio-mxs.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpio/gpio-mxs.c b/drivers/gpio/gpio-mxs.c index fa2a63cad32e..45d97c46831a 100644 --- a/drivers/gpio/gpio-mxs.c +++ b/drivers/gpio/gpio-mxs.c | |||
@@ -20,6 +20,7 @@ | |||
20 | * MA 02110-1301, USA. | 20 | * MA 02110-1301, USA. |
21 | */ | 21 | */ |
22 | 22 | ||
23 | #include <linux/err.h> | ||
23 | #include <linux/init.h> | 24 | #include <linux/init.h> |
24 | #include <linux/interrupt.h> | 25 | #include <linux/interrupt.h> |
25 | #include <linux/io.h> | 26 | #include <linux/io.h> |
@@ -253,12 +254,14 @@ static int mxs_gpio_probe(struct platform_device *pdev) | |||
253 | parent = of_get_parent(np); | 254 | parent = of_get_parent(np); |
254 | base = of_iomap(parent, 0); | 255 | base = of_iomap(parent, 0); |
255 | of_node_put(parent); | 256 | of_node_put(parent); |
257 | if (!base) | ||
258 | return -EADDRNOTAVAIL; | ||
256 | } else { | 259 | } else { |
257 | iores = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 260 | iores = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
258 | base = devm_request_and_ioremap(&pdev->dev, iores); | 261 | base = devm_ioremap_resource(&pdev->dev, iores); |
262 | if (IS_ERR(base)) | ||
263 | return PTR_ERR(base); | ||
259 | } | 264 | } |
260 | if (!base) | ||
261 | return -EADDRNOTAVAIL; | ||
262 | } | 265 | } |
263 | port->base = base; | 266 | port->base = base; |
264 | 267 | ||