aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpio/gpio-omap.c20
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);