Re: [PATCH 1/2] of: change overlay apply input data from EDT to FDT

From: Rob Herring
Date: Mon Feb 05 2018 - 01:08:01 EST


On Mon, Jan 29, 2018 at 04:01:38PM -0800, Frank Rowand wrote:
> On 01/29/18 06:42, Rob Herring wrote:
> > On Sun, Jan 28, 2018 at 8:53 PM, <frowand.list@xxxxxxxxx> wrote:
> >> From: Frank Rowand <frank.rowand@xxxxxxxx>
> >>
> >> Move duplicating and unflattening of an overlay flattened devicetree
> >> (FDT) into the overlay application code. To accomplish this,
> >> of_overlay_apply() is replaced by of_overlay_fdt_apply().
> >>
> >> The copy of the FDT (aka "duplicate FDT") now belongs to devicetree
> >> code, which is thus responsible for freeing the duplicate FDT. The
> >> caller of of_overlay_fdt_apply() remains responsible for freeing the
> >> original FDT.
> >>
> >> The unflattened device tree (aka expanded device tree, EDT) now
> >
> > Not really a fan of a new acronym.
> >
> >> belongs to devicetree code, which is thus responsible for freeing
> >> the EDT.
> >>
> >> These ownership changes prevent early freeing of the duplicated FDT
> >> or the EDT, which could result in use after free errors.
> >>
> >> of_overlay_fdt_apply() is a private function for the anticipated
> >> overlay loader.
> >>
> >> Update unittest.c to use of_overlay_fdt_apply() instead of
> >> of_overlay_apply().
> >>
> >> Move overlay fragments from artificial locations in
> >> drivers/of/unittest-data/tests-overlay.dtsi into one devicetree
> >> source file per overlay. This led to changes in
> >> drivers/of/unitest-data/Makefile and drivers/of/unitest.c.
>
> I should have reversed the cause and effect in that sentence to
> instead be:
>
> The changes to drivers/of/unittest.c require the test overlays
> to be in FDT form instead of unflattened devicetree form. Move
> overlay fragments from artificial locations in
> drivers/of/unittest-data/tests-overlay.dtsi into one
> devicetree source file per overlay and thus create
> one FDT per overlay.
>
>
> > Why the rearranging? That should be a separate patch.
> Bisectability.
>
> I can make the changes to the devicetree files in a second patch.
> After the first patch, there will be 29 self test fails.
>
> I will make the change unless you respond back to this saying not to.

One patch is fine for me. Unit test is special.

Rob