On Thu, Oct 12, 2017 at 12:40 PM, Lukas Wunner <lukas@xxxxxxxxx> wrote: > 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@xxxxxxxxxxx> > Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> > --- > Changes v1 -> v2: Applied this v2 version. Good work! I'm happy :) We should take a sweep over existing drivers and see which in-tree drivers that can exploit this and send some patches for testing. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html