gpio: reference count the gpio device for each desc
authorLinus Walleij <linus.walleij@linaro.org>
Thu, 11 Feb 2016 09:28:44 +0000 (10:28 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 11 Feb 2016 19:29:46 +0000 (20:29 +0100)
commit33a68e86fd7741f782c71a0daa9111b352e94445
tree96e6ee9894a0513d98e43300dd17bec0a45e36a4
parentfdeb8e1547cb9dd39d5d7223b33f3565cf86c28e
gpio: reference count the gpio device for each desc

Every time a descriptor is retrieved from the gpiolib, we issue
module_get() to reference count the module supplying the GPIOs.
We also need to call device_get() and device_put() as we also
reference the backing gpio_device when doing this.

Since the sysfs GPIO interface is using gpiod_get() this will
also reference count the sysfs requests until all GPIOs are
unexported.

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