drivers/of/Kconfig | 7 ++++++- drivers/of/Makefile | 2 +- drivers/of/empty_root.dts | 6 ++++++ drivers/of/fdt.c | 27 ++++++++++++++++++++++++++- drivers/of/unittest.c | 16 ++++++---------- include/linux/of_fdt.h | 2 ++ init/main.c | 2 ++ 7 files changed, 49 insertions(+), 13 deletions(-) create mode 100644 drivers/of/empty_root.dts
This series is a different implementation to achieve the goals of
https://lore.kernel.org/r/20220623105044.152832-1-clement.leger@bootlin.com
In order to apply overlays or create new nodes under the root node, the
kernel expects of_root to be set. On some system where a device-tree was
not provided by firmware (x86 for instance) if CONFIG_OF is enabled,
then we will end up with a null of_root. This series adds support to
create this root node using a builtin dtb and removes the manual
creation of the root node done in unittests.c.
Changes since version 2: (patch 1/2)
- change of __dtb_empty_root_* from "void *" to "uint8_t []"
Changes since version 1: (patch 1/2)
- refresh for 6.2-rc1
- update Signed-off-by
- fix typo in of_fdt.h: s/of_setup/setup_of
- unflatten_device_tree(): validate size in header field dtb_empty_root
that will be used to copy dtb_empty_root
- add Kconfig option to manually select CONFIG_OF_EARLY_FLATTREE
Changes since version 1: (patch 2/2)
- refresh for 6.2-rc1
- update Signed-off-by
- fix formatting error (leading space) in patch comment
Frank Rowand (2):
of: create of_root if no dtb provided
of: unittest: treat missing of_root as error instead of fixing up
drivers/of/Kconfig | 7 ++++++-
drivers/of/Makefile | 2 +-
drivers/of/empty_root.dts | 6 ++++++
drivers/of/fdt.c | 27 ++++++++++++++++++++++++++-
drivers/of/unittest.c | 16 ++++++----------
include/linux/of_fdt.h | 2 ++
init/main.c | 2 ++
7 files changed, 49 insertions(+), 13 deletions(-)
create mode 100644 drivers/of/empty_root.dts
--
Frank Rowand <frowand.list@gmail.com>
Hi Clément, Can you please test this version of the patch series? Thanks! -Frank On 2/23/23 15:34, Frank Rowand wrote: > This series is a different implementation to achieve the goals of > https://lore.kernel.org/r/20220623105044.152832-1-clement.leger@bootlin.com > > In order to apply overlays or create new nodes under the root node, the > kernel expects of_root to be set. On some system where a device-tree was > not provided by firmware (x86 for instance) if CONFIG_OF is enabled, > then we will end up with a null of_root. This series adds support to > create this root node using a builtin dtb and removes the manual > creation of the root node done in unittests.c. > > Changes since version 2: (patch 1/2) > - change of __dtb_empty_root_* from "void *" to "uint8_t []" > > Changes since version 1: (patch 1/2) > - refresh for 6.2-rc1 > - update Signed-off-by > - fix typo in of_fdt.h: s/of_setup/setup_of > - unflatten_device_tree(): validate size in header field dtb_empty_root > that will be used to copy dtb_empty_root > - add Kconfig option to manually select CONFIG_OF_EARLY_FLATTREE > > Changes since version 1: (patch 2/2) > - refresh for 6.2-rc1 > - update Signed-off-by > - fix formatting error (leading space) in patch comment > > Frank Rowand (2): > of: create of_root if no dtb provided > of: unittest: treat missing of_root as error instead of fixing up > > drivers/of/Kconfig | 7 ++++++- > drivers/of/Makefile | 2 +- > drivers/of/empty_root.dts | 6 ++++++ > drivers/of/fdt.c | 27 ++++++++++++++++++++++++++- > drivers/of/unittest.c | 16 ++++++---------- > include/linux/of_fdt.h | 2 ++ > init/main.c | 2 ++ > 7 files changed, 49 insertions(+), 13 deletions(-) > create mode 100644 drivers/of/empty_root.dts >
Le Thu, 23 Feb 2023 15:39:31 -0600, Frank Rowand <frowand.list@gmail.com> a écrit : > Hi Clément, > > Can you please test this version of the patch series? Hi Frank, I can confirm it now works as expected, thanks for your patch ! Tested-by: Clément Léger <clement.leger@bootlin.com> Clément > > Thanks! > > -Frank > > On 2/23/23 15:34, Frank Rowand wrote: > > This series is a different implementation to achieve the goals of > > https://lore.kernel.org/r/20220623105044.152832-1-clement.leger@bootlin.com > > > > In order to apply overlays or create new nodes under the root node, the > > kernel expects of_root to be set. On some system where a device-tree was > > not provided by firmware (x86 for instance) if CONFIG_OF is enabled, > > then we will end up with a null of_root. This series adds support to > > create this root node using a builtin dtb and removes the manual > > creation of the root node done in unittests.c. > > > > Changes since version 2: (patch 1/2) > > - change of __dtb_empty_root_* from "void *" to "uint8_t []" > > > > Changes since version 1: (patch 1/2) > > - refresh for 6.2-rc1 > > - update Signed-off-by > > - fix typo in of_fdt.h: s/of_setup/setup_of > > - unflatten_device_tree(): validate size in header field dtb_empty_root > > that will be used to copy dtb_empty_root > > - add Kconfig option to manually select CONFIG_OF_EARLY_FLATTREE > > > > Changes since version 1: (patch 2/2) > > - refresh for 6.2-rc1 > > - update Signed-off-by > > - fix formatting error (leading space) in patch comment > > > > Frank Rowand (2): > > of: create of_root if no dtb provided > > of: unittest: treat missing of_root as error instead of fixing up > > > > drivers/of/Kconfig | 7 ++++++- > > drivers/of/Makefile | 2 +- > > drivers/of/empty_root.dts | 6 ++++++ > > drivers/of/fdt.c | 27 ++++++++++++++++++++++++++- > > drivers/of/unittest.c | 16 ++++++---------- > > include/linux/of_fdt.h | 2 ++ > > init/main.c | 2 ++ > > 7 files changed, 49 insertions(+), 13 deletions(-) > > create mode 100644 drivers/of/empty_root.dts > > > -- Clément Léger, Embedded Linux and Kernel engineer at Bootlin https://bootlin.com
© 2016 - 2026 Red Hat, Inc.