summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpiolib.c
diff options
context:
space:
mode:
authorLinus Walleij2016-02-09 14:27:42 +0100
committerLinus Walleij2016-02-11 18:16:53 +0100
commit9efd9e6956adf479eb85beb74bb975f702dc01a9 (patch)
tree5005e8ec773716458ac14860acc1b38174dded9f /drivers/gpio/gpiolib.c
parentgpio: add tps65218 gpio (diff)
downloadkernel-qcow2-linux-9efd9e6956adf479eb85beb74bb975f702dc01a9.tar.gz
kernel-qcow2-linux-9efd9e6956adf479eb85beb74bb975f702dc01a9.tar.xz
kernel-qcow2-linux-9efd9e6956adf479eb85beb74bb975f702dc01a9.zip
gpio: remember to finally free gpio_device
When the device core reference count for the device goes to 0 and it calls .release() we free resources and so can also finally free up the GPIO state container, struct gpio_device. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpiolib.c')
-rw-r--r--drivers/gpio/gpiolib.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 70e0fff0a8a7..36f8be3f910b 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -405,6 +405,7 @@ static void gpiodevice_release(struct device *dev)
cdev_del(&gdev->chrdev);
list_del(&gdev->list);
ida_simple_remove(&gpio_ida, gdev->id);
+ kfree(gdev);
}
/**