 75b57ecf9d
			
		
	
	
	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>
		
	
			
		
			
				
	
	
		
			28 lines
		
	
	
	
		
			1.2 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
	
		
			1.2 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
| 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.
 |