mirror_ubuntu-kernels/include/linux/gpio
Lukas Wunner eec1d566cd gpio: Introduce ->get_multiple callback
SPI-attached GPIO controllers typically read out all inputs in one go.
If callers desire the values of multipe inputs, ideally a single readout
should take place to return the desired values.  However the current
driver API only offers a ->get callback but no ->get_multiple (unlike
->set_multiple, which is present).  Thus, to read multiple inputs, a
full readout needs to be performed for every single value (barring
driver-internal caching), which is inefficient.

In fact, the lack of a ->get_multiple callback has been bemoaned
repeatedly by the gpio subsystem maintainer:
http://www.spinics.net/lists/linux-gpio/msg10571.html
http://www.spinics.net/lists/devicetree/msg121734.html

Introduce the missing callback.  Add corresponding consumer functions
such as gpiod_get_array_value().  Amend linehandle_ioctl() to take
advantage of the newly added infrastructure.  Update the documentation.

Cc: Rojhalat Ibrahim <imr@rtschenk.de>
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-10-19 22:32:39 +02:00
..
consumer.h gpio: Introduce ->get_multiple callback 2017-10-19 22:32:39 +02:00
driver.h gpio: Introduce ->get_multiple callback 2017-10-19 22:32:39 +02:00
gpio-reg.h gpio: gpio-reg: add irq mapping for gpio-reg users 2017-03-24 14:05:00 +01:00
machine.h gpio: add gpio_add_lookup_tables() to add several tables at once 2017-08-23 09:16:35 +02:00