Thread (19 messages) 19 messages, 6 authors, 2020-05-11

Re: [PATCH v6 4/8] gpiolib: Add support for GPIO lookup by line name

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2020-05-11 10:18:42
Also in: linux-gpio, linux-renesas-soc, lkml, qemu-devel

Hi Linus,

On Thu, Mar 26, 2020 at 10:18 PM Linus Walleij [off-list ref] wrote:
On Tue, Mar 24, 2020 at 2:57 PM Geert Uytterhoeven
[off-list ref] wrote:
quoted
Currently a GPIO lookup table can only refer to a specific GPIO by a
tuple, consisting of a GPIO controller label and a GPIO offset inside
the controller.

However, a GPIO may also carry a line name, defined by DT or ACPI.
If present, the line name is the most use-centric way to refer to a
GPIO.  Hence add support for looking up GPIOs by line name.

Implement this by reusing the existing gpiod_lookup infrastructure.
Rename gpiod_lookup.chip_label to gpiod_lookup.key, to make it clear
that this field can have two meanings, and update the kerneldoc and
GPIO_LOOKUP*() macros.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Ulrich Hecht <redacted>
Reviewed-by: Eugeniu Rosca <redacted>
Tested-by: Eugeniu Rosca <redacted>
I kind of like this approach, however there are things here that
need to be considered: the line name is in no way globally unique,
and I think there are already quite a few GPIO chips that
have the same line names assigned for every instance of that
chip.

gpiochip_set_desc_names() only warns if there is a line with
the same name on the same gpio_chip.
on a _different_ gpio chip.
I suppose we need to document that the line name look-up
will be on a first-come-first-served basis: whatever line
we find first with this name is what you will get a reference
to, no matter what chip it is on, and it is possible albeit
not recommended that some other chip has a line with the
same name.
Agreed.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help