mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 04:31:50 +00:00
gpio: Don't override the error code in probe error handling
Otherwise, we return 0 in probe error paths when gpiochip_remove() returns 0. Also show error message if gpiochip_remove() fails. Signed-off-by: Axel Lin <axel.lin@ingics.com> Cc: Tomoya MORINAGA <tomoya.rohm@gmail.com> Cc: Denis Turischev <denis@compulab.co.il> Cc: Lars Poeschel <poeschel@lemonage.de> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
90dae4ebf0
commit
cfb10898ef
@ -496,8 +496,7 @@ err_irq_alloc_descs:
|
||||
err_gpiochip_add:
|
||||
while (--i >= 0) {
|
||||
chip--;
|
||||
ret = gpiochip_remove(&chip->gpio);
|
||||
if (ret)
|
||||
if (gpiochip_remove(&chip->gpio))
|
||||
dev_err(&pdev->dev, "Failed gpiochip_remove(%d)\n", i);
|
||||
}
|
||||
kfree(chip_save);
|
||||
|
@ -424,8 +424,7 @@ end:
|
||||
err_request_irq:
|
||||
irq_free_descs(irq_base, gpio_pins[chip->ioh]);
|
||||
|
||||
ret = gpiochip_remove(&chip->gpio);
|
||||
if (ret)
|
||||
if (gpiochip_remove(&chip->gpio))
|
||||
dev_err(&pdev->dev, "%s gpiochip_remove failed\n", __func__);
|
||||
|
||||
err_gpiochip_add:
|
||||
|
@ -272,10 +272,8 @@ static int sch_gpio_probe(struct platform_device *pdev)
|
||||
return 0;
|
||||
|
||||
err_sch_gpio_resume:
|
||||
err = gpiochip_remove(&sch_gpio_core);
|
||||
if (err)
|
||||
dev_err(&pdev->dev, "%s failed, %d\n",
|
||||
"gpiochip_remove()", err);
|
||||
if (gpiochip_remove(&sch_gpio_core))
|
||||
dev_err(&pdev->dev, "%s gpiochip_remove failed\n", __func__);
|
||||
|
||||
err_sch_gpio_core:
|
||||
release_region(res->start, resource_size(res));
|
||||
|
@ -446,7 +446,8 @@ static int vprbrd_gpio_probe(struct platform_device *pdev)
|
||||
return ret;
|
||||
|
||||
err_gpiob:
|
||||
ret = gpiochip_remove(&vb_gpio->gpioa);
|
||||
if (gpiochip_remove(&vb_gpio->gpioa))
|
||||
dev_err(&pdev->dev, "%s gpiochip_remove failed\n", __func__);
|
||||
|
||||
err_gpioa:
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user