[PATCH v3 5/6] docs: bootconfig: Update for mixing value and subkeys

From: Masami Hiramatsu
Date: Wed Jun 02 2021 - 02:25:19 EST


Update document for the mixing value and subkeys on a key.

Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
---
0 files changed

diff --git a/Documentation/admin-guide/bootconfig.rst b/Documentation/admin-guide/bootconfig.rst
index 452b7dcd7f6b..37bdae273b18 100644
--- a/Documentation/admin-guide/bootconfig.rst
+++ b/Documentation/admin-guide/bootconfig.rst
@@ -89,13 +89,33 @@ you can use ``+=`` operator. For example::

In this case, the key ``foo`` has ``bar``, ``baz`` and ``qux``.

-However, a sub-key and a value can not co-exist under a parent key.
-For example, following config is NOT allowed.::
+Moreover, sub-keys and a value can co-exist under a parent key.
+For example, following config is allowed.::

foo = value1
- foo.bar = value2 # !ERROR! subkey "bar" and value "value1" can NOT co-exist
- foo.bar := value2 # !ERROR! even with the override operator, this is NOT allowed.
+ foo.bar = value2
+ foo := value3 # This will update foo's value.

+Note, since there is no syntax to add raw value in the structured
+key, you have to define it outside of the brace. For example::
+
+ foo.bar = value1
+ foo.bar {
+ baz = value2
+ qux = value3
+ }
+
+Also, the order of the value node under a key is fixed. If there
+are a value and subkeys, the value is always the first child node
+of the key. Thus if user specifies subkeys first, e.g.::
+
+ foo.bar = value1
+ foo = value2
+
+In the program (and /proc/bootconfig), it will be shown as below::
+
+ foo = value2
+ foo.bar = value1

Comments
--------