Linus Walleij b08ea35a32 gpio: add a data pointer to gpio_chip
This adds a void * pointer to gpio_chip so that driver can
assign and retrieve some states. This is done to get rid of
container_of() calls for gpio_chips embedded inside state
containers, so we can remove the need to have the gpio_chip
or later (planned) struct gpio_device be dynamically allocated
at registration time, so that its struct device can be properly
reference counted and not bound to its parent device (e.g.
a platform_device) but instead live on after unregistration
if it is opened by e.g. a char device or sysfs.

The data is added with the new function gpiochip_add_data()
and for compatibility we add static inline wrapper function
gpiochip_add() that will call gpiochip_add_data() with
NULL as argument. The latter will be removed once we have
exorcised gpiochip_add() from the kernel.

gpiochip_get_data() is added as a static inline accessor
for drivers to quickly get their data out.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-01-05 11:20:12 +01:00
..
2015-12-21 09:36:21 +01:00
2014-12-14 16:10:09 -08:00
2015-11-30 16:41:26 +01:00
2015-11-19 09:24:35 +01:00
2015-11-30 16:41:26 +01:00
2015-12-21 09:36:21 +01:00
2015-12-21 09:36:21 +01:00
2015-11-30 16:41:26 +01:00
2015-11-19 09:24:35 +01:00
2015-12-21 09:36:21 +01:00
2015-11-19 09:24:35 +01:00
2015-11-19 09:24:35 +01:00