gpio: keep the GPIO line names internal
authorLinus Walleij <linus.walleij@linaro.org>
Wed, 23 Sep 2015 23:20:43 +0000 (16:20 -0700)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 24 Sep 2015 17:48:53 +0000 (10:48 -0700)
commitf881bab038c9667deab19a85d8666029cbfa6f2c
treecb2052e36749a8474f4cbf78008f6984f88a6ed4
parentced433e2a4a0f11362c149daf802157ffb65ee20
gpio: keep the GPIO line names internal

This refactors the changes to the GPIO line naming mechanism to
not have so widespread effects, instead we conclude the patch series
by having created a name attribute in the GPIO descriptor, that need
not be globally unique, and it will be initialized from the old
.names array in struct gpio_chip if it exists, then used in the legacy
sysfs code like the array was used previously.

The associated changes to name lines from the device tree are
controversial and need to stand alone from this. Resulting changes:

1. Remove the export and the header for the gpio_name_to_desc() as so
far the only use is inside gpiolib.c. Staticize gpio_name_to_desc()
and move it above the only function using it.

2. Only print a warning if there are two GPIO lines with the same name.
The reason is to preserve current behaviour: before the previous
changes to the naming mechanism this would not reject probing the
driver, instead the error would occur when trying to export the line
in sysfs, so restore this behaviour, but print a friendly warning
if names collide.

Cc: Johan Hovold <johan@kernel.org>
Cc: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpiolib.c
include/linux/gpio/consumer.h