From 88fa7f8bf0f0ebcb6742b108e408e7d2d5367e9a Mon Sep 17 00:00:00 2001 From: Masami Hiramatsu Date: Wed, 2 Jun 2021 17:19:25 +0900 Subject: [PATCH] FROMLIST: docs: bootconfig: Update for mixing value and subkeys Update document for the mixing value and subkeys on a key. Picking this up FROMLIST to get the fix ASAP. It is likely to be accepted upstream. Signed-off-by: Devin Moore Link: https://lore.kernel.org/lkml/162262192121.264090.6540508908529705156.stgit@devnote2/ Bug: 183237066 Signed-off-by: Masami Hiramatsu Change-Id: Ic0f92d57aae62b6efd762db71da4e83c9d96b5e4 --- Documentation/admin-guide/bootconfig.rst | 30 ++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/Documentation/admin-guide/bootconfig.rst b/Documentation/admin-guide/bootconfig.rst index 9b90efcc3a35..2400b1ed886c 100644 --- a/Documentation/admin-guide/bootconfig.rst +++ b/Documentation/admin-guide/bootconfig.rst @@ -89,13 +89,35 @@ 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 coexist 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 put a raw value directly under a +structured key, you have to define it outside of the brace. For example:: + + foo { + bar = value1 + 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 --------