Re: [PATCH 1/2] of: create of_root if no dtb provided

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jun 24, 2022 at 11:44:07AM -0500, Frank Rowand wrote:
> On 6/24/22 08:13, Clément Léger wrote:
> > Le Thu, 23 Jun 2022 22:43:26 -0500,
> > frowand.list@xxxxxxxxx a écrit :
> > 
> >>  
> >> +/*
> >> + * __dtb_empty_root_begin[] magically created by cmd_dt_S_dtb in
> >> + * scripts/Makefile.lib
> >> + */
> >> +extern void *__dtb_empty_root_begin;
> >> +
> >>  /*
> >>   * of_fdt_limit_memory - limit the number of regions in the /memory node
> >>   * @limit: maximum entries
> >> @@ -1332,8 +1338,13 @@ bool __init early_init_dt_scan(void *params)
> >>   */
> >>  void __init unflatten_device_tree(void)
> >>  {
> > 
> > Hi Frank,
> > 
> > This function is only defined when CONFIG_OF_EARLY_FLATTREE is enabled.
> 
> More precisely, only if CONFIG_OF_FLATTREE is enabled.  But that would
> most likely be seleved by CONFIG_OF_EARLY_FLATTREE, so in practice the
> issue you raise is valid.
> 
> > Which means that on platforms that do not select this, the default
> > empty device-tree creation will not be done.
> 
> Yes, so platforms that need this functionality need to select this
> option.
> 
> > 
> > This configuration option is selected by the platform and not by the
> > user. On x86, only one config enables this (X86_INTEL_CE) which means
> > this won't work on all the other platforms even if CONFIG_OF is
> > selected. I would need this to work by only selected CONFIG_OF.
> 
> Maybe this means that CONFIG_OF should be changed to select
> CONFIG_OF_FLATTREE.  Any opinions on this Rob?

I don't think that works in the PDT (Sparc) case.

I think either CONFIG_OF_FLATTREE or CONFIG_OF_EARLY_FLATTREE will need 
to become user selectable.

> 
> > That's why I decided to add the of_root creation in of_core_init()
> > using a function (of_fdt_unflatten()) that is provided if CONFIG_OF is
> > defined.
> 
> I mentioned this in response to the previous patch series, but will
> repeat here for those who might not have read that email thread.
> 
> I do not want the root live tree to be created buy different code in
> different places; I want one central place where this occurs.  When
> the tree can be created in multiple places by different code blocks,
> it becomes more difficult to understand the code and more likely that
> one of the tree creation code blocks is not updated when another is.

+1

Rob



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux