Separate gpio_request() and request_irq() error handling.
Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
if (r) {
dev_err(&dssdev->dev, "IRQ request failed\n");
gpio_free(gpio);
- goto err3;
+ goto err4;
}
init_completion(&td->te_completion);
r = sysfs_create_group(&dssdev->dev.kobj, &taal_attr_group);
if (r) {
dev_err(&dssdev->dev, "failed to create sysfs files\n");
- goto err4;
+ goto err5;
}
return 0;
+err5:
+ if (td->use_ext_te)
+ free_irq(gpio_to_irq(dssdev->phy.dsi.ext_te_gpio), dssdev);
err4:
- if (td->use_ext_te) {
- int gpio = dssdev->phy.dsi.ext_te_gpio;
- free_irq(gpio_to_irq(gpio), dssdev);
- gpio_free(gpio);
- }
+ if (td->use_ext_te)
+ gpio_free(dssdev->phy.dsi.ext_te_gpio);
err3:
backlight_device_unregister(bldev);
err2: