Re: [RFC] Add of_path property for all devices with a node

Frank Rowand
2014-11-13T04:29:04Z

On 11/6/2014 10:33 PM, Benjamin Herrenschmidt wrote:
> Hey folks ! This is not (yet) a formal patch submission but...
>
> So I've been annoyed lately with having a bunch of devices such as i2c
> eeproms (for use by VPDs, server world !) and other bits and pieces that
> I want to be able to identify from userspace, and possibly provide
> additional data about from FW.
>
> Basically, it boils down to correlating the sysfs device with the OF
> tree device node, so that user space can use device-tree info such as
> additional "location" or "label" (or whatever else we can come up with)
> propreties to identify a given device, or get some attributes of use
> about it, etc...
>
> Now, so far, we've done that in some subsystem in a fairly ad-hoc basis
> using "devspec" properties. For example, PCI creates them if it can
> correlate the probed device with a DT node. Some powerpc specific busses
> do that too.
>
> However, i2c doesn't and it would be nice to have something more generic
> since technically any device can have a corresponding device tree node.
>
> So I came up with this patch, it seems to work well for me. I'm adding
> an "of_path" attribute to not conflict with the existing "devspec" one
> just for the sake of this experiment (plus "devspec" sucks). Long run,
> we might want to use of_path and leave a "devspec" symlink to of_path on
> the few busses that currently have devspec (pci and some powerpc
> specific ones).
>
> Comments ?
>
> Cheers,
> Ben.

If I understand correctly, that information is already available in
the file uevent. For example, if I apply your patch, at least
for a simple path, I see the same path name in uevent as in of_path:

$ cd /sys/devices/soc/f9824900.sdhci
$ cat of_path
/soc/sdhci@f9824900
$ grep OF_FULLNAME uevent | cut -d"=" -f2
/soc/sdhci@f9824900

-Frank