Hi Linus, On Thu, Mar 26, 2020 at 10:18 PM Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > On Tue, Mar 24, 2020 at 2:57 PM Geert Uytterhoeven > <geert+renesas@xxxxxxxxx> wrote: > > 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@xxxxxxxxx> > > Reviewed-by: Ulrich Hecht <uli+renesas@xxxxxxxx> > > Reviewed-by: Eugeniu Rosca <erosca@xxxxxxxxxxxxxx> > > Tested-by: Eugeniu Rosca <erosca@xxxxxxxxxxxxxx> > > 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@xxxxxxxxxxxxxx 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