[PATCH 2/6] gpio: Introduce gpio descriptor 'name'
Linus Walleij
linus.walleij at linaro.org
Mon Aug 10 02:37:06 PDT 2015
On Tue, Aug 4, 2015 at 11:23 AM, Markus Pargmann <mpa at pengutronix.de> wrote:
> The latest gpio hogging mechanism assigns each gpio a 'line-name' in the
> devicetree. The 'name' field is different from the 'label' field.
> 'label' is only used for requested GPIOs to describe its current use by
> driver or userspace.
>
> The 'name' field describes the GPIO itself, not the use. This is most
> likely identical to the label in the schematic on the GPIO line and
> should help to find this particular GPIO.
>
> This patch adds a helper function to find gpio descriptors by name
> instead of gpio number.
>
> Signed-off-by: Markus Pargmann <mpa at pengutronix.de>
Oh I realized there is a big problem with this.
struct gpio_chip already contains this:
const char *const *names;
Now it seems like names can be stored in two places:
in an array in the gpio_chip and in a name tag in struct
gpio_desc.
So how do we handle this?
I guess we need to keep just *one* of them, so maybe remove
the names array from the struct gpio_chip and add a helper function
that sets the names on the descs for the lines like:
int gpiochip_set_names(struct gpio_chip *gc, const char * const names);
And then refactor all code and chips that use the old names
array to use this instead. I don't think they are too many, really.
(Maybe I got it all wrong, hammer me down, it is monday.)
Yours,
Linus Walleij
More information about the linux-arm-kernel
mailing list