public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] bootconfig: Add mixed subkeys and value under the same key
@ 2021-05-16 14:55 Masami Hiramatsu
  2021-05-16 14:55 ` [PATCH 1/4] bootconfig: Change array value to use child node Masami Hiramatsu
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Masami Hiramatsu @ 2021-05-16 14:55 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: LKML, Ingo Molnar, Devin Moore

Hi,

The following series updates bootconfig to support mixed subkeys and
a value under the same key. Since the kernel cmdline accepts options
like "aaa.bbb=val1 aaa.bbb.ccc=val2", it is better that the bootconfig
also support it.

This series depends on the previous bugfix which I sent last week;

 https://lore.kernel.org/lkml/162087519356.442660.11385099982318160180.stgit@devnote2/

With this series, sub-keys and a value can co-exist under a parent key.
For example, following config is allowed.

 foo = value1
 foo.bar = value2

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


Thank you,

---

Masami Hiramatsu (4):
      bootconfig: Change array value to use child node
      bootconfig: Support mixing a value and subkeys under a key
      tools/bootconfig: Support mixed value and subkey test cases
      docs: bootconfig: Update for mixing value and subkeys


 tools/bootconfig/main.c                            |   47 ++++++++++++++++----
 tools/bootconfig/samples/bad-mixed-kv1.bconf       |    3 -
 tools/bootconfig/samples/bad-mixed-kv2.bconf       |    3 -
 tools/bootconfig/samples/bad-override.bconf        |    3 -
 tools/bootconfig/samples/bad-override2.bconf       |    3 -
 tools/bootconfig/samples/good-mixed-append.bconf   |    4 ++
 tools/bootconfig/samples/good-mixed-kv1.bconf      |    3 +
 tools/bootconfig/samples/good-mixed-kv2.bconf      |    3 +
 tools/bootconfig/samples/good-mixed-kv3.bconf      |    6 +++
 tools/bootconfig/samples/good-mixed-override.bconf |    4 ++
 10 files changed, 58 insertions(+), 21 deletions(-)
 delete mode 100644 tools/bootconfig/samples/bad-mixed-kv1.bconf
 delete mode 100644 tools/bootconfig/samples/bad-mixed-kv2.bconf
 delete mode 100644 tools/bootconfig/samples/bad-override.bconf
 delete mode 100644 tools/bootconfig/samples/bad-override2.bconf
 create mode 100644 tools/bootconfig/samples/good-mixed-append.bconf
 create mode 100644 tools/bootconfig/samples/good-mixed-kv1.bconf
 create mode 100644 tools/bootconfig/samples/good-mixed-kv2.bconf
 create mode 100644 tools/bootconfig/samples/good-mixed-kv3.bconf
 create mode 100644 tools/bootconfig/samples/good-mixed-override.bconf

--
Masami Hiramatsu (Linaro) <mhiramat@kernel.org>

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-05-21  0:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-05-16 14:55 [PATCH 0/4] bootconfig: Add mixed subkeys and value under the same key Masami Hiramatsu
2021-05-16 14:55 ` [PATCH 1/4] bootconfig: Change array value to use child node Masami Hiramatsu
2021-05-17 15:24   ` Steven Rostedt
2021-05-17 23:42     ` Masami Hiramatsu
2021-05-21  0:43   ` Masami Hiramatsu
2021-05-16 14:55 ` [PATCH 2/4] bootconfig: Support mixing a value and subkeys under a key Masami Hiramatsu
2021-05-16 14:55 ` [PATCH 3/4] tools/bootconfig: Support mixed value and subkey test cases Masami Hiramatsu
2021-05-16 14:55 ` [PATCH 4/4] docs: bootconfig: Update for mixing value and subkeys Masami Hiramatsu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox