Merge tag 'for-linus-20140127' of git://git.infradead.org/linux-mtd
[cascardo/linux.git] / drivers / gpio / gpio-tegra.c
index cfd3b90..2b49f87 100644 (file)
@@ -425,6 +425,7 @@ static int tegra_gpio_probe(struct platform_device *pdev)
        struct tegra_gpio_soc_config *config;
        struct resource *res;
        struct tegra_gpio_bank *bank;
+       int ret;
        int gpio;
        int i;
        int j;
@@ -494,7 +495,11 @@ static int tegra_gpio_probe(struct platform_device *pdev)
 
        tegra_gpio_chip.of_node = pdev->dev.of_node;
 
-       gpiochip_add(&tegra_gpio_chip);
+       ret = gpiochip_add(&tegra_gpio_chip);
+       if (ret < 0) {
+               irq_domain_remove(irq_domain);
+               return ret;
+       }
 
        for (gpio = 0; gpio < tegra_gpio_chip.ngpio; gpio++) {
                int irq = irq_create_mapping(irq_domain, gpio);