Also move platform_get_resource() call close to devm_ioremap_resource(). The implementation of devm_ioremap_resource() will also check mem parameter and emit proper error.
Signed-off-by: Axel Lin <[email protected]> --- drivers/gpio/gpio-tb10x.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/gpio/gpio-tb10x.c b/drivers/gpio/gpio-tb10x.c index 833d0f4..45bfed1 100644 --- a/drivers/gpio/gpio-tb10x.c +++ b/drivers/gpio/gpio-tb10x.c @@ -194,23 +194,16 @@ static int tb10x_gpio_probe(struct platform_device *pdev) if (of_property_read_u32(dn, "abilis,ngpio", &ngpio)) return -EINVAL; - mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!mem) { - dev_err(&pdev->dev, "No memory resource defined.\n"); - return -EINVAL; - } - tb10x_gpio = devm_kzalloc(&pdev->dev, sizeof(*tb10x_gpio), GFP_KERNEL); if (tb10x_gpio == NULL) return -ENOMEM; spin_lock_init(&tb10x_gpio->spinlock); + mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); tb10x_gpio->base = devm_ioremap_resource(&pdev->dev, mem); - if (!tb10x_gpio->base) { - dev_err(&pdev->dev, "Could not remap reg space.\n"); - goto fail_ioremap; - } + if (IS_ERR(tb10x_gpio->base)) + return PTR_ERR(tb10x_gpio->base); tb10x_gpio->gc.label = of_node_full_name(dn); tb10x_gpio->gc.dev = &pdev->dev; @@ -285,7 +278,6 @@ fail_request_irq: fail_get_irq: gpiochip_remove(&tb10x_gpio->gc); fail_gpiochip_registration: -fail_ioremap: return ret; } -- 1.8.1.2 -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
