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

2018-01-30 Thread Alan Tull
On Mon, Jan 29, 2018 at 6:35 PM, Frank Rowand  wrote:

Hi Frank,

> Hi Alan,
>
> In this patch series one of the changes was to change some
> devicetree unittest overlay source to use the new sugar syntax to
> specify overlay nodes instead of hand coding the fragment nodes.
>
> One reviewer reminded me to update Documentation/ files that
> show the hand coding of overlay fragment nodes.  One of those
> files is Documentation/devicetree/bindings/fpga/fpga-region.txt.
> I plan to submit a patch to update the example devicetree source
> to use the sugar syntax.  There is one place where I can not
> make that change, which is the "Overlay DTS Format" section.
> In this section, the use of 'target-path="/path" is shown as
> one of two ways to specify the target of the fragment.  The
> sugar syntax creates a fragment using the 'target='
> form instead of 'target-path="/path"' form.  With sugar
> syntax, there is no way to specify target-path.  Is the
> target-path form needed by the fpga subsystem, or can this
> be removed?

Removing target-path won't be a loss of functionality as far as I can see.

Currently the examples in
Documentation/devicetree/bindings/fpga/fpga-region.txt all specify
'target =  while the descriptive text says that target and
target-path are both options (3 line edits are needed to remove
target-path from this file plus other edits to change it to sugar
format without __overlay__ and 'fragment@0').

Thanks for asking!

Alan

>
> -Frank
>
> On 01/29/18 16:22, Frank Rowand wrote:
>> On 01/29/18 06:08, Geert Uytterhoeven wrote:
>>> Hi Frank,
>>>
>>> On Mon, Jan 29, 2018 at 3:53 AM,   wrote:
 From: Frank Rowand 

 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
 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.

 These changes led to migrating some unittest overlay data into
 their own devicetree source files, and then converting most of
 them to use sugar syntax instead of hand coding fragments.
>>>
>>> Thanks for your series!
>>>
 Frank Rowand (2):
   of: change overlay apply input data from EDT to FDT
   of: convert unittest overlay devicetree source to sugar syntax
>>>
>>> Do you plan to update Documentation/devicetree/overlay-notes.txt
>>> and Documentation/devicetree/bindings/fpga/fpga-region.txt, too?
>>
>> Thanks for the pointers.
>>
>> I will add updates to Documentation/devicetree/overlay-notes.txt in
>> this series.
>>
>> The changes to Documentation/devicetree/bindings/fpga/fpga-region.txt
>> are related to the relatively new sugar syntax in dtc, not to the
>> changes introduced by this patch series.  I'll create a patch outside
>> this series to update this documentation.
>>
>>
>>> Gr{oetje,eeting}s,
>>>
>>> Geert
>>>
>>> --
>>> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- 
>>> ge...@linux-m68k.org
>>>
>>> In personal conversations with technical people, I call myself a hacker. But
>>> when I'm talking to journalists I just say "programmer" or something like 
>>> that.
>>> -- Linus Torvalds
>>>
>>
>>
>


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

2018-01-30 Thread Alan Tull
On Mon, Jan 29, 2018 at 6:35 PM, Frank Rowand  wrote:

Hi Frank,

> Hi Alan,
>
> In this patch series one of the changes was to change some
> devicetree unittest overlay source to use the new sugar syntax to
> specify overlay nodes instead of hand coding the fragment nodes.
>
> One reviewer reminded me to update Documentation/ files that
> show the hand coding of overlay fragment nodes.  One of those
> files is Documentation/devicetree/bindings/fpga/fpga-region.txt.
> I plan to submit a patch to update the example devicetree source
> to use the sugar syntax.  There is one place where I can not
> make that change, which is the "Overlay DTS Format" section.
> In this section, the use of 'target-path="/path" is shown as
> one of two ways to specify the target of the fragment.  The
> sugar syntax creates a fragment using the 'target='
> form instead of 'target-path="/path"' form.  With sugar
> syntax, there is no way to specify target-path.  Is the
> target-path form needed by the fpga subsystem, or can this
> be removed?

Removing target-path won't be a loss of functionality as far as I can see.

Currently the examples in
Documentation/devicetree/bindings/fpga/fpga-region.txt all specify
'target =  while the descriptive text says that target and
target-path are both options (3 line edits are needed to remove
target-path from this file plus other edits to change it to sugar
format without __overlay__ and 'fragment@0').

Thanks for asking!

Alan

>
> -Frank
>
> On 01/29/18 16:22, Frank Rowand wrote:
>> On 01/29/18 06:08, Geert Uytterhoeven wrote:
>>> Hi Frank,
>>>
>>> On Mon, Jan 29, 2018 at 3:53 AM,   wrote:
 From: Frank Rowand 

 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
 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.

 These changes led to migrating some unittest overlay data into
 their own devicetree source files, and then converting most of
 them to use sugar syntax instead of hand coding fragments.
>>>
>>> Thanks for your series!
>>>
 Frank Rowand (2):
   of: change overlay apply input data from EDT to FDT
   of: convert unittest overlay devicetree source to sugar syntax
>>>
>>> Do you plan to update Documentation/devicetree/overlay-notes.txt
>>> and Documentation/devicetree/bindings/fpga/fpga-region.txt, too?
>>
>> Thanks for the pointers.
>>
>> I will add updates to Documentation/devicetree/overlay-notes.txt in
>> this series.
>>
>> The changes to Documentation/devicetree/bindings/fpga/fpga-region.txt
>> are related to the relatively new sugar syntax in dtc, not to the
>> changes introduced by this patch series.  I'll create a patch outside
>> this series to update this documentation.
>>
>>
>>> Gr{oetje,eeting}s,
>>>
>>> Geert
>>>
>>> --
>>> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- 
>>> ge...@linux-m68k.org
>>>
>>> In personal conversations with technical people, I call myself a hacker. But
>>> when I'm talking to journalists I just say "programmer" or something like 
>>> that.
>>> -- Linus Torvalds
>>>
>>
>>
>


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

2018-01-29 Thread Frank Rowand
Hi Alan,

In this patch series one of the changes was to change some
devicetree unittest overlay source to use the new sugar syntax to
specify overlay nodes instead of hand coding the fragment nodes.

One reviewer reminded me to update Documentation/ files that
show the hand coding of overlay fragment nodes.  One of those
files is Documentation/devicetree/bindings/fpga/fpga-region.txt.
I plan to submit a patch to update the example devicetree source
to use the sugar syntax.  There is one place where I can not
make that change, which is the "Overlay DTS Format" section.
In this section, the use of 'target-path="/path" is shown as
one of two ways to specify the target of the fragment.  The
sugar syntax creates a fragment using the 'target='
form instead of 'target-path="/path"' form.  With sugar
syntax, there is no way to specify target-path.  Is the
target-path form needed by the fpga subsystem, or can this
be removed?

-Frank

On 01/29/18 16:22, Frank Rowand wrote:
> On 01/29/18 06:08, Geert Uytterhoeven wrote:
>> Hi Frank,
>>
>> On Mon, Jan 29, 2018 at 3:53 AM,   wrote:
>>> From: Frank Rowand 
>>>
>>> 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
>>> 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.
>>>
>>> These changes led to migrating some unittest overlay data into
>>> their own devicetree source files, and then converting most of
>>> them to use sugar syntax instead of hand coding fragments.
>>
>> Thanks for your series!
>>
>>> Frank Rowand (2):
>>>   of: change overlay apply input data from EDT to FDT
>>>   of: convert unittest overlay devicetree source to sugar syntax
>>
>> Do you plan to update Documentation/devicetree/overlay-notes.txt
>> and Documentation/devicetree/bindings/fpga/fpga-region.txt, too?
> 
> Thanks for the pointers.
> 
> I will add updates to Documentation/devicetree/overlay-notes.txt in
> this series.
> 
> The changes to Documentation/devicetree/bindings/fpga/fpga-region.txt
> are related to the relatively new sugar syntax in dtc, not to the
> changes introduced by this patch series.  I'll create a patch outside
> this series to update this documentation.
> 
> 
>> Gr{oetje,eeting}s,
>>
>> Geert
>>
>> --
>> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- 
>> ge...@linux-m68k.org
>>
>> In personal conversations with technical people, I call myself a hacker. But
>> when I'm talking to journalists I just say "programmer" or something like 
>> that.
>> -- Linus Torvalds
>>
> 
> 



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

2018-01-29 Thread Frank Rowand
Hi Alan,

In this patch series one of the changes was to change some
devicetree unittest overlay source to use the new sugar syntax to
specify overlay nodes instead of hand coding the fragment nodes.

One reviewer reminded me to update Documentation/ files that
show the hand coding of overlay fragment nodes.  One of those
files is Documentation/devicetree/bindings/fpga/fpga-region.txt.
I plan to submit a patch to update the example devicetree source
to use the sugar syntax.  There is one place where I can not
make that change, which is the "Overlay DTS Format" section.
In this section, the use of 'target-path="/path" is shown as
one of two ways to specify the target of the fragment.  The
sugar syntax creates a fragment using the 'target='
form instead of 'target-path="/path"' form.  With sugar
syntax, there is no way to specify target-path.  Is the
target-path form needed by the fpga subsystem, or can this
be removed?

-Frank

On 01/29/18 16:22, Frank Rowand wrote:
> On 01/29/18 06:08, Geert Uytterhoeven wrote:
>> Hi Frank,
>>
>> On Mon, Jan 29, 2018 at 3:53 AM,   wrote:
>>> From: Frank Rowand 
>>>
>>> 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
>>> 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.
>>>
>>> These changes led to migrating some unittest overlay data into
>>> their own devicetree source files, and then converting most of
>>> them to use sugar syntax instead of hand coding fragments.
>>
>> Thanks for your series!
>>
>>> Frank Rowand (2):
>>>   of: change overlay apply input data from EDT to FDT
>>>   of: convert unittest overlay devicetree source to sugar syntax
>>
>> Do you plan to update Documentation/devicetree/overlay-notes.txt
>> and Documentation/devicetree/bindings/fpga/fpga-region.txt, too?
> 
> Thanks for the pointers.
> 
> I will add updates to Documentation/devicetree/overlay-notes.txt in
> this series.
> 
> The changes to Documentation/devicetree/bindings/fpga/fpga-region.txt
> are related to the relatively new sugar syntax in dtc, not to the
> changes introduced by this patch series.  I'll create a patch outside
> this series to update this documentation.
> 
> 
>> Gr{oetje,eeting}s,
>>
>> Geert
>>
>> --
>> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- 
>> ge...@linux-m68k.org
>>
>> In personal conversations with technical people, I call myself a hacker. But
>> when I'm talking to journalists I just say "programmer" or something like 
>> that.
>> -- Linus Torvalds
>>
> 
> 



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

2018-01-29 Thread Frank Rowand
On 01/29/18 06:08, Geert Uytterhoeven wrote:
> Hi Frank,
> 
> On Mon, Jan 29, 2018 at 3:53 AM,   wrote:
>> From: Frank Rowand 
>>
>> 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
>> 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.
>>
>> These changes led to migrating some unittest overlay data into
>> their own devicetree source files, and then converting most of
>> them to use sugar syntax instead of hand coding fragments.
> 
> Thanks for your series!
> 
>> Frank Rowand (2):
>>   of: change overlay apply input data from EDT to FDT
>>   of: convert unittest overlay devicetree source to sugar syntax
> 
> Do you plan to update Documentation/devicetree/overlay-notes.txt
> and Documentation/devicetree/bindings/fpga/fpga-region.txt, too?

Thanks for the pointers.

I will add updates to Documentation/devicetree/overlay-notes.txt in
this series.

The changes to Documentation/devicetree/bindings/fpga/fpga-region.txt
are related to the relatively new sugar syntax in dtc, not to the
changes introduced by this patch series.  I'll create a patch outside
this series to update this documentation.


> Gr{oetje,eeting}s,
> 
> Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- 
> ge...@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like 
> that.
> -- Linus Torvalds
> 



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

2018-01-29 Thread Frank Rowand
On 01/29/18 06:08, Geert Uytterhoeven wrote:
> Hi Frank,
> 
> On Mon, Jan 29, 2018 at 3:53 AM,   wrote:
>> From: Frank Rowand 
>>
>> 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
>> 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.
>>
>> These changes led to migrating some unittest overlay data into
>> their own devicetree source files, and then converting most of
>> them to use sugar syntax instead of hand coding fragments.
> 
> Thanks for your series!
> 
>> Frank Rowand (2):
>>   of: change overlay apply input data from EDT to FDT
>>   of: convert unittest overlay devicetree source to sugar syntax
> 
> Do you plan to update Documentation/devicetree/overlay-notes.txt
> and Documentation/devicetree/bindings/fpga/fpga-region.txt, too?

Thanks for the pointers.

I will add updates to Documentation/devicetree/overlay-notes.txt in
this series.

The changes to Documentation/devicetree/bindings/fpga/fpga-region.txt
are related to the relatively new sugar syntax in dtc, not to the
changes introduced by this patch series.  I'll create a patch outside
this series to update this documentation.


> Gr{oetje,eeting}s,
> 
> Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- 
> ge...@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like 
> that.
> -- Linus Torvalds
> 



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

2018-01-29 Thread Geert Uytterhoeven
Hi Frank,

On Mon, Jan 29, 2018 at 3:53 AM,   wrote:
> From: Frank Rowand 
>
> 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
> 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.
>
> These changes led to migrating some unittest overlay data into
> their own devicetree source files, and then converting most of
> them to use sugar syntax instead of hand coding fragments.

Thanks for your series!

> Frank Rowand (2):
>   of: change overlay apply input data from EDT to FDT
>   of: convert unittest overlay devicetree source to sugar syntax

Do you plan to update Documentation/devicetree/overlay-notes.txt
and Documentation/devicetree/bindings/fpga/fpga-region.txt, too?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds


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

2018-01-29 Thread Geert Uytterhoeven
Hi Frank,

On Mon, Jan 29, 2018 at 3:53 AM,   wrote:
> From: Frank Rowand 
>
> 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
> 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.
>
> These changes led to migrating some unittest overlay data into
> their own devicetree source files, and then converting most of
> them to use sugar syntax instead of hand coding fragments.

Thanks for your series!

> Frank Rowand (2):
>   of: change overlay apply input data from EDT to FDT
>   of: convert unittest overlay devicetree source to sugar syntax

Do you plan to update Documentation/devicetree/overlay-notes.txt
and Documentation/devicetree/bindings/fpga/fpga-region.txt, too?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds


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

2018-01-28 Thread frowand . list
From: Frank Rowand 

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
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.

These changes led to migrating some unittest overlay data into
their own devicetree source files, and then converting most of
them to use sugar syntax instead of hand coding fragments.

Frank Rowand (2):
  of: change overlay apply input data from EDT to FDT
  of: convert unittest overlay devicetree source to sugar syntax

 drivers/of/of_private.h  |   1 +
 drivers/of/overlay.c | 124 +-
 drivers/of/resolver.c|   6 -
 drivers/of/unittest-data/Makefile|  16 ++
 drivers/of/unittest-data/overlay.dts | 101 
 drivers/of/unittest-data/overlay_0.dts   |  14 ++
 drivers/of/unittest-data/overlay_1.dts   |  14 ++
 drivers/of/unittest-data/overlay_10.dts  |  27 +++
 drivers/of/unittest-data/overlay_11.dts  |  28 +++
 drivers/of/unittest-data/overlay_12.dts  |  14 ++
 drivers/of/unittest-data/overlay_13.dts  |  14 ++
 drivers/of/unittest-data/overlay_15.dts  |  30 +++
 drivers/of/unittest-data/overlay_2.dts   |   9 +
 drivers/of/unittest-data/overlay_3.dts   |   9 +
 drivers/of/unittest-data/overlay_4.dts   |  18 ++
 drivers/of/unittest-data/overlay_5.dts   |   9 +
 drivers/of/unittest-data/overlay_6.dts   |  10 +
 drivers/of/unittest-data/overlay_7.dts   |  10 +
 drivers/of/unittest-data/overlay_8.dts   |  10 +
 drivers/of/unittest-data/overlay_9.dts   |  10 +
 drivers/of/unittest-data/overlay_bad_phandle.dts |  23 +-
 drivers/of/unittest-data/overlay_bad_symbol.dts  |  27 +--
 drivers/of/unittest-data/tests-overlay.dtsi  | 217 +
 drivers/of/unittest.c| 296 +++
 include/linux/of.h   |   7 -
 25 files changed, 564 insertions(+), 480 deletions(-)
 create mode 100644 drivers/of/unittest-data/overlay_0.dts
 create mode 100644 drivers/of/unittest-data/overlay_1.dts
 create mode 100644 drivers/of/unittest-data/overlay_10.dts
 create mode 100644 drivers/of/unittest-data/overlay_11.dts
 create mode 100644 drivers/of/unittest-data/overlay_12.dts
 create mode 100644 drivers/of/unittest-data/overlay_13.dts
 create mode 100644 drivers/of/unittest-data/overlay_15.dts
 create mode 100644 drivers/of/unittest-data/overlay_2.dts
 create mode 100644 drivers/of/unittest-data/overlay_3.dts
 create mode 100644 drivers/of/unittest-data/overlay_4.dts
 create mode 100644 drivers/of/unittest-data/overlay_5.dts
 create mode 100644 drivers/of/unittest-data/overlay_6.dts
 create mode 100644 drivers/of/unittest-data/overlay_7.dts
 create mode 100644 drivers/of/unittest-data/overlay_8.dts
 create mode 100644 drivers/of/unittest-data/overlay_9.dts

-- 
Frank Rowand 



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

2018-01-28 Thread frowand . list
From: Frank Rowand 

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
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.

These changes led to migrating some unittest overlay data into
their own devicetree source files, and then converting most of
them to use sugar syntax instead of hand coding fragments.

Frank Rowand (2):
  of: change overlay apply input data from EDT to FDT
  of: convert unittest overlay devicetree source to sugar syntax

 drivers/of/of_private.h  |   1 +
 drivers/of/overlay.c | 124 +-
 drivers/of/resolver.c|   6 -
 drivers/of/unittest-data/Makefile|  16 ++
 drivers/of/unittest-data/overlay.dts | 101 
 drivers/of/unittest-data/overlay_0.dts   |  14 ++
 drivers/of/unittest-data/overlay_1.dts   |  14 ++
 drivers/of/unittest-data/overlay_10.dts  |  27 +++
 drivers/of/unittest-data/overlay_11.dts  |  28 +++
 drivers/of/unittest-data/overlay_12.dts  |  14 ++
 drivers/of/unittest-data/overlay_13.dts  |  14 ++
 drivers/of/unittest-data/overlay_15.dts  |  30 +++
 drivers/of/unittest-data/overlay_2.dts   |   9 +
 drivers/of/unittest-data/overlay_3.dts   |   9 +
 drivers/of/unittest-data/overlay_4.dts   |  18 ++
 drivers/of/unittest-data/overlay_5.dts   |   9 +
 drivers/of/unittest-data/overlay_6.dts   |  10 +
 drivers/of/unittest-data/overlay_7.dts   |  10 +
 drivers/of/unittest-data/overlay_8.dts   |  10 +
 drivers/of/unittest-data/overlay_9.dts   |  10 +
 drivers/of/unittest-data/overlay_bad_phandle.dts |  23 +-
 drivers/of/unittest-data/overlay_bad_symbol.dts  |  27 +--
 drivers/of/unittest-data/tests-overlay.dtsi  | 217 +
 drivers/of/unittest.c| 296 +++
 include/linux/of.h   |   7 -
 25 files changed, 564 insertions(+), 480 deletions(-)
 create mode 100644 drivers/of/unittest-data/overlay_0.dts
 create mode 100644 drivers/of/unittest-data/overlay_1.dts
 create mode 100644 drivers/of/unittest-data/overlay_10.dts
 create mode 100644 drivers/of/unittest-data/overlay_11.dts
 create mode 100644 drivers/of/unittest-data/overlay_12.dts
 create mode 100644 drivers/of/unittest-data/overlay_13.dts
 create mode 100644 drivers/of/unittest-data/overlay_15.dts
 create mode 100644 drivers/of/unittest-data/overlay_2.dts
 create mode 100644 drivers/of/unittest-data/overlay_3.dts
 create mode 100644 drivers/of/unittest-data/overlay_4.dts
 create mode 100644 drivers/of/unittest-data/overlay_5.dts
 create mode 100644 drivers/of/unittest-data/overlay_6.dts
 create mode 100644 drivers/of/unittest-data/overlay_7.dts
 create mode 100644 drivers/of/unittest-data/overlay_8.dts
 create mode 100644 drivers/of/unittest-data/overlay_9.dts

-- 
Frank Rowand