Re: [PATCH 0/6] GPIO character device skeleton

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

 



On Tue, Nov 3, 2015 at 1:06 PM, Johan Hovold <johan@xxxxxxxxxx> wrote:
> [Pargmann]
>> As an idea: We could use the complete path to create some sort of unique id for
>> the device (perhaps hash or something different). This id can be exported as
>> device attribute and would allow udev to create some links as known from
>> /dev/disk/by-id for example. This would make identifying a single chip quite
>> easy for any userspace application and we would avoid having this really long
>> path somewhere.
>
> The unique ids are already there in sysfs, for example:
>
> $ for x in /sys/bus/gpio/devices/gpiochip*; do readlink $x; done
> ../../../devices/platform/68000000.ocp/48310000.gpio/gpiochip0
> ../../../devices/platform/68000000.ocp/49050000.gpio/gpiochip1
> ../../../devices/platform/68000000.ocp/49052000.gpio/gpiochip2
> ../../../devices/platform/68000000.ocp/49054000.gpio/gpiochip3
> ../../../devices/platform/68000000.ocp/49056000.gpio/gpiochip4
> ../../../devices/platform/68000000.ocp/49058000.gpio/gpiochip5
> ../../../devices/platform/68000000.ocp/48070000.i2c/i2c-0/0-0048/twl4030-gpio/gpiochip6
> ../../../devices/platform/68000000.ocp/48064000.usbhshost/48064800.ehci/usb1/1-2/1-2.3/1-2.3:1.0/gpiochip7
>
> And libudev can be used to lookup devices based on (parent) attributes
> (such as USB VID/PID, serial numbers, etc).
>
> We could also export further attributes if that would help (e.g.
> gpio-chip labels).

Yeah sysfs does provide this.

This has the problem that everyone and their dog need to use udev
or something like it. Some library or so that run around in sysfs like
libudev+systemdlib does currently.

And since Android does not use udev, and Busybox does not use udev,
there are quite a few million users there. Or at least two big projects that
need to reimplement the same idea. It could be argued that they should,
since sysfs is indeed an ABI.

In the Busybox mdev case part of the goal is to minimize userspace code
size too, and it does not support the complex rules of udev for example.

It'd be nice if devices could be uniquely identified in the chardev alone
I think, then we don't need to much reliance on external assumptions
and traversing sysfs somehow for more info.

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