diff options
-rw-r--r-- | drivers/gpio/gpio-omap.c | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c index 424319061e09..19b886c21b1d 100644 --- a/drivers/gpio/gpio-omap.c +++ b/drivers/gpio/gpio-omap.c | |||
@@ -1214,24 +1214,10 @@ static int omap_gpio_probe(struct platform_device *pdev) | |||
1214 | 1214 | ||
1215 | /* Static mapping, never released */ | 1215 | /* Static mapping, never released */ |
1216 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 1216 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
1217 | if (unlikely(!res)) { | 1217 | bank->base = devm_ioremap_resource(dev, res); |
1218 | dev_err(dev, "Invalid mem resource\n"); | 1218 | if (IS_ERR(bank->base)) { |
1219 | irq_domain_remove(bank->domain); | ||
1220 | return -ENODEV; | ||
1221 | } | ||
1222 | |||
1223 | if (!devm_request_mem_region(dev, res->start, resource_size(res), | ||
1224 | pdev->name)) { | ||
1225 | dev_err(dev, "Region already claimed\n"); | ||
1226 | irq_domain_remove(bank->domain); | 1219 | irq_domain_remove(bank->domain); |
1227 | return -EBUSY; | 1220 | return PTR_ERR(bank->base); |
1228 | } | ||
1229 | |||
1230 | bank->base = devm_ioremap(dev, res->start, resource_size(res)); | ||
1231 | if (!bank->base) { | ||
1232 | dev_err(dev, "Could not ioremap\n"); | ||
1233 | irq_domain_remove(bank->domain); | ||
1234 | return -ENOMEM; | ||
1235 | } | 1221 | } |
1236 | 1222 | ||
1237 | platform_set_drvdata(pdev, bank); | 1223 | platform_set_drvdata(pdev, bank); |