From: Johan Hovold Date: Mon, 12 Jan 2015 16:12:29 +0000 (+0100) Subject: gpio: unregister gpiochip device before removing it X-Git-Tag: v3.19-rc6~31^2~4 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=01cca93a9491ed95992523ff7e79dd9bfcdea8e0;p=~emulex%2Finfiniband.git gpio: unregister gpiochip device before removing it Unregister gpiochip device (used to export information through sysfs) before removing it internally. This way removal will reverse addition. Signed-off-by: Johan Hovold Signed-off-by: Linus Walleij --- diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 37f919dc2cb..568aa2b6bdb 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -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;