75b57ecf9d
Device tree nodes are already treated as objects, and we already want to expose them to userspace which is done using the /proc filesystem today. Right now the kernel has to do a lot of work to keep the /proc view in sync with the in-kernel representation. If device_nodes are switched to be kobjects then the device tree code can be a whole lot simpler. It also turns out that switching to using /sysfs from /proc results in smaller code and data size, and the userspace ABI won't change if /proc/device-tree symlinks to /sys/firmware/devicetree/base. v7: Add missing sysfs_bin_attr_init() v6: Add __of_add_property() early init fixes from Pantelis v5: Rename firmware/ofw to firmware/devicetree Fix updating property values in sysfs v4: Fixed build error on Powerpc Fixed handling of dynamic nodes on powerpc v3: Fixed handling of duplicate attribute and child node names v2: switch to using sysfs bin_attributes which solve the problem of reporting incorrect property size. Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Tested-by: Sascha Hauer <s.hauer@pengutronix.de> Cc: Rob Herring <rob.herring@calxeda.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: David S. Miller <davem@davemloft.net> Cc: Nathan Fontenot <nfont@linux.vnet.ibm.com> Cc: Pantelis Antoniou <panto@antoniou-consulting.com>
29 lines
1.2 KiB
Plaintext
29 lines
1.2 KiB
Plaintext
What: /sys/firmware/devicetree/*
|
|
Date: November 2013
|
|
Contact: Grant Likely <grant.likely@linaro.org>
|
|
Description:
|
|
When using OpenFirmware or a Flattened Device Tree to enumerate
|
|
hardware, the device tree structure will be exposed in this
|
|
directory.
|
|
|
|
It is possible for multiple device-tree directories to exist.
|
|
Some device drivers use a separate detached device tree which
|
|
have no attachment to the system tree and will appear in a
|
|
different subdirectory under /sys/firmware/devicetree.
|
|
|
|
Userspace must not use the /sys/firmware/devicetree/base
|
|
path directly, but instead should follow /proc/device-tree
|
|
symlink. It is possible that the absolute path will change
|
|
in the future, but the symlink is the stable ABI.
|
|
|
|
The /proc/device-tree symlink replaces the devicetree /proc
|
|
filesystem support, and has largely the same semantics and
|
|
should be compatible with existing userspace.
|
|
|
|
The contents of /sys/firmware/devicetree/ is a
|
|
hierarchy of directories, one per device tree node. The
|
|
directory name is the resolved path component name (node
|
|
name plus address). Properties are represented as files
|
|
in the directory. The contents of each file is the exact
|
|
binary data from the device tree.
|