rk fb: from rk3368 fb only need to reserved 1 framebuffer
[firefly-linux-kernel-4.4.55.git] / drivers / gpio / gpiolib.c
index 4aff349386d8ad8053eb6bfb1a9887eeb6360098..a35c5b932eba6c21606e1d8c378f1d0a6fa0a53c 100644 (file)
@@ -1214,15 +1214,14 @@ int gpiochip_add(struct gpio_chip *chip)
                }
        }
 
+       spin_unlock_irqrestore(&gpio_lock, flags);
+
 #ifdef CONFIG_PINCTRL
        INIT_LIST_HEAD(&chip->pin_ranges);
 #endif
 
        of_gpiochip_add(chip);
 
-unlock:
-       spin_unlock_irqrestore(&gpio_lock, flags);
-
        if (status)
                goto fail;
 
@@ -1235,6 +1234,9 @@ unlock:
                chip->label ? : "generic");
 
        return 0;
+
+unlock:
+       spin_unlock_irqrestore(&gpio_lock, flags);
 fail:
        /* failures here can mean systems won't boot... */
        pr_err("gpiochip_add: gpios %d..%d (%s) failed to register\n",