mbox series

[v3,0/2] of: populate of_root_node if not set (alternate)

Message ID 20230223213418.891942-1-frowand.list@gmail.com
Headers show
Series of: populate of_root_node if not set (alternate) | expand

Message

Frank Rowand Feb. 23, 2023, 9:34 p.m. UTC
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

Comments

Clément Léger Feb. 27, 2023, 9:31 a.m. UTC | #1
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
> >   
>