Re: [PATCH 5/6] gpiolib-sysfs: Show gpio-name in /sys/class/gpio/gpio*/name

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Aug 4, 2015 at 11:23 AM, Markus Pargmann <mpa@xxxxxxxxxxxxxx> wrote:

> This patch adds a sysfs attribute 'name' to gpios that were exported. It
> exposes the newly added name property of gpio descriptors.
>
> Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx>

This needs to also patch Documentation/ABI/testing/sysfs-gpio
if we should go with it. It says this:

    /sys/class/gpio
        /export ... asks the kernel to export a GPIO to userspace
        /unexport ... to return a GPIO to the kernel
        /gpioN ... for each exported GPIO #N
            /value ... always readable, writes fail for input GPIOs
            /direction ... r/w as: in, out (default low); write: high, low
            /edge ... r/w as: none, falling, rising, both

Anyways I don't know if this is right, and that ABI doc is also lying.

Look at this in gpiolib-sysfs.c:

        if (chip->names && chip->names[offset])
                ioname = chip->names[offset];

        dev = device_create_with_groups(&gpio_class, chip->dev,
                                        MKDEV(0, 0), data, gpio_groups,
                                        ioname ? ioname : "gpio%u",
                                        desc_to_gpio(desc));

I.e. what the ABI doc say about the dirs being named "gpioN" is
a plain lie, it can have a descriptive name as its directory  name
under /sys/class/gpio/foo-line or so.

Since this already exist and is a flat namespace ... we should
use that.

However it has the implication like I said before that two names
cannot be the same. I think Johan's comment that they could
be non-unique did not take into account the fact that two chips
could use the same .names array (and that would already fail,
by the way) so the .names in the struct gpio_chip *MUST* be
unique as compared to all other names.

We *could* deprecate the old line naming mechanism (that create
dirs named after the pin), and from here on only use gpioN and
"name" in a separate file like this patch does. However that is
not really OK either: we want to move away from the GPIO numbers
and to descriptors and descriptive names, so I currently feel
we should name the directories after the line instead, and
require them to be unique.

I'll have to patch this document now anyways because it is
lying about the ABI :(

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux