diff options
author | Sakari Ailus <sakari.ailus@linux.intel.com> | 2018-07-17 17:19:13 +0300 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2018-07-23 13:44:52 +0300 |
commit | b10134a3643dced57976f9346764144203cfb302 (patch) | |
tree | ac7bef81af6591cb53218c9dc3debcaf1070f5e6 /Documentation/acpi | |
parent | 4eb0c3bf5ee52ffc88500763d80ba01393879794 (diff) | |
download | linux-b10134a3643dced57976f9346764144203cfb302.tar.xz |
ACPI: property: Document hierarchical data extension references
Add documentation on how to refer to hierarchical data nodes in a
generic way. This brings ACPI to feature parity with Device Tree in
terms of being able to refer to any node in the tree.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'Documentation/acpi')
-rw-r--r-- | Documentation/acpi/dsd/data-node-references.txt | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/Documentation/acpi/dsd/data-node-references.txt b/Documentation/acpi/dsd/data-node-references.txt new file mode 100644 index 000000000000..00c3b5fe1f2e --- /dev/null +++ b/Documentation/acpi/dsd/data-node-references.txt @@ -0,0 +1,69 @@ +Copyright (C) 2018 Intel Corporation +Author: Sakari Ailus <sakari.ailus@linux.intel.com> + + +Referencing hierarchical data nodes +----------------------------------- + +ACPI in general allows referring to device objects in the tree only. +Hierarchical data extension nodes may not be referred to directly, hence this +document defines a scheme to implement such references. + +A reference consist of the device object name followed by one or more +hierarchical data extension [1] keys. Specifically, the hierarchical data +extension node which is referred to by the key shall lie directly under the +parent object i.e. either the device object or another hierarchical data +extension node. + +Example +------- + + In the ASL snippet below, the "reference" _DSD property [2] contains a + device object reference to DEV0 and under that device object, a + hierarchical data extension key "node" referring to the NODE object and + lastly, a hierarchical data extension key "anothernode" referring to the + ANOD object which is also the final target of the reference. + + Device (DEV0) + { + Name (_DSD, Package () { + ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"), + Package () { + Package () { "node", NODE }, + } + }) + Name (NODE, Package() { + ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"), + Package () { + Package () { "anothernode", ANOD }, + } + }) + Name (ANOD, Package() { + ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), + Package () { + Package () { "random-property", 0 }, + } + }) + } + + Device (DEV1) + { + Name (_DSD, Package () { + ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), + Package () { + Package () { "reference", ^DEV0, "node", "anothernode" }, + } + }) + } + + +References +---------- + +[1] Hierarchical Data Extension UUID For _DSD. + <URL:http://www.uefi.org/sites/default/files/resources/_DSD-hierarchical-data-extension-UUID-v1.1.pdf>, + referenced 2018-07-17. + +[2] Device Properties UUID For _DSD. + <URL:http://www.uefi.org/sites/default/files/resources/_DSD-device-properties-UUID.pdf>, + referenced 2016-10-04. |