gpio: unregister gpiochip device before removing it
authorJohan Hovold <johan@kernel.org>
Mon, 12 Jan 2015 16:12:29 +0000 (17:12 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 14 Jan 2015 13:27:01 +0000 (14:27 +0100)
Unregister gpiochip device (used to export information through sysfs)
before removing it internally. This way removal will reverse addition.

Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpiolib.c

index 37f919d..568aa2b 100644 (file)
@@ -327,6 +327,8 @@ void gpiochip_remove(struct gpio_chip *chip)
        unsigned long   flags;
        unsigned        id;
 
+       gpiochip_unexport(chip);
+
        gpiochip_irqchip_remove(chip);
 
        acpi_gpiochip_remove(chip);
@@ -343,7 +345,6 @@ void gpiochip_remove(struct gpio_chip *chip)
 
        list_del(&chip->list);
        spin_unlock_irqrestore(&gpio_lock, flags);
-       gpiochip_unexport(chip);
 
        kfree(chip->desc);
        chip->desc = NULL;