Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

gpio: omap: Use devm_ioremap_resource()

Use devm_ioremap_resource() in order to make the code simpler,
and remove redundant return value check of platform_get_resource()
because the value is checked by devm_ioremap_resource().

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Alexandre Courbot <acourbot@nvidia.com>
Acked-by: Kevin Hilman <khilman@linaro.org>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Jingoo Han and committed by
Linus Walleij
717f70e3 09bafc30

+3 -17
+3 -17
drivers/gpio/gpio-omap.c
··· 1214 1214 1215 1215 /* Static mapping, never released */ 1216 1216 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1217 - if (unlikely(!res)) { 1218 - dev_err(dev, "Invalid mem resource\n"); 1217 + bank->base = devm_ioremap_resource(dev, res); 1218 + if (IS_ERR(bank->base)) { 1219 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); 1227 - return -EBUSY; 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; 1220 + return PTR_ERR(bank->base); 1235 1221 } 1236 1222 1237 1223 platform_set_drvdata(pdev, bank);