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: