~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/firmware-guide/acpi/dsd/data-node-references.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GPL-2.0
  2 .. include:: <isonum.txt>
  3 
  4 ===================================
  5 Referencing hierarchical data nodes
  6 ===================================
  7 
  8 :Copyright: |copy| 2018, 2021 Intel Corporation
  9 :Author: Sakari Ailus <sakari.ailus@linux.intel.com>
 10 
 11 ACPI in general allows referring to device objects in the tree only.
 12 Hierarchical data extension nodes may not be referred to directly, hence this
 13 document defines a scheme to implement such references.
 14 
 15 A reference consist of the device object name followed by one or more
 16 hierarchical data extension [dsd-guide] keys. Specifically, the hierarchical
 17 data extension node which is referred to by the key shall lie directly under
 18 the parent object i.e. either the device object or another hierarchical data
 19 extension node.
 20 
 21 The keys in the hierarchical data nodes shall consist of the name of the node,
 22 "@" character and the number of the node in hexadecimal notation (without pre-
 23 or postfixes). The same ACPI object shall include the _DSD property extension
 24 with a property "reg" that shall have the same numerical value as the number of
 25 the node.
 26 
 27 In case a hierarchical data extensions node has no numerical value, then the
 28 "reg" property shall be omitted from the ACPI object's _DSD properties and the
 29 "@" character and the number shall be omitted from the hierarchical data
 30 extension key.
 31 
 32 
 33 Example
 34 =======
 35 
 36 In the ASL snippet below, the "reference" _DSD property contains a
 37 device object reference to DEV0 and under that device object, a
 38 hierarchical data extension key "node@1" referring to the NOD1 object
 39 and lastly, a hierarchical data extension key "anothernode" referring to
 40 the ANOD object which is also the final target node of the reference.
 41 ::
 42 
 43         Device (DEV0)
 44         {
 45             Name (_DSD, Package () {
 46                 ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
 47                 Package () {
 48                     Package () { "node@0", "NOD0" },
 49                     Package () { "node@1", "NOD1" },
 50                 }
 51             })
 52             Name (NOD0, Package() {
 53                 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
 54                 Package () {
 55                     Package () { "reg", 0 },
 56                     Package () { "random-property", 3 },
 57                 }
 58             })
 59             Name (NOD1, Package() {
 60                 ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
 61                 Package () {
 62                     Package () { "reg", 1 },
 63                     Package () { "anothernode", "ANOD" },
 64                 }
 65             })
 66             Name (ANOD, Package() {
 67                 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
 68                 Package () {
 69                     Package () { "random-property", 0 },
 70                 }
 71             })
 72         }
 73 
 74         Device (DEV1)
 75         {
 76             Name (_DSD, Package () {
 77                 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
 78                 Package () {
 79                     Package () {
 80                         "reference", Package () {
 81                             ^DEV0, "node@1", "anothernode"
 82                         }
 83                     },
 84                 }
 85             })
 86         }
 87 
 88 Please also see a graph example in
 89 Documentation/firmware-guide/acpi/dsd/graph.rst.
 90 
 91 References
 92 ==========
 93 
 94 [dsd-guide] DSD Guide.
 95     https://github.com/UEFI/DSD-Guide/blob/main/dsd-guide.adoc, referenced
 96     2021-11-30.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php