Thread (93 messages) 93 messages, 7 authors, 2018-12-07

[RFC PATCH v2 09/12] gpiolib: Identify GPIO descriptor arrays with direct mapping

From: Linus Walleij <hidden>
Date: 2018-08-06 23:29:59
Also in: linux-doc, linux-gpio, linux-omap, lkml

Hi Janusz!

On Tue, Aug 7, 2018 at 12:29 AM Janusz Krzysztofik [off-list ref] wrote:
Certain GPIO array lookup results may map directly to GPIO pins of a
single GPIO chip in hardware order.  If that condition is recognized
and handled efficiently, significant performance gain of get/set array
functions may be possible.

While processing a request for an array of GPIO descriptors, verify if
the descriptors just collected represent consecutive pins of a single
GPIO chip.  Pass that information with the array to the caller so it
can benefit from enhanced performance as soon as bitmap based get/set
array functions which can make efficient use of that are available.

Signed-off-by: Janusz Krzysztofik <jmkrzyszt@gmail.com>
(...)
 This function returns a struct gpio_descs which contains an array of
-descriptors::
+descriptors.  It may also contain a valid descriptor of a single GPIO chip in
+case the array strictly matches pin hardware layout of the chip::

        struct gpio_descs {
                unsigned int ndescs;
                struct gpio_desc *desc[];
+               struct gpio_chip *chip;
This must be motivated: if the only purpose is to indicate to the consumer that
all GPIOs are on the same chip, why not just have a

bool all_on_same_chip;

That you set to true if these are all on the same chip?

Yours,
Linus Walleij
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help