Re: [PATCH 3/6] doc: dt: Document the indirect overlay method.
From: Pantelis Antoniou
Date: Tue May 10 2016 - 09:59:19 EST
Hi Rob,
> On May 10, 2016, at 00:59 , Rob Herring <robherring2@xxxxxxxxx> wrote:
>
> On Mon, May 9, 2016 at 1:05 PM, Pantelis Antoniou
> <pantelis.antoniou@xxxxxxxxxxxx> wrote:
>> Add a description of the indirect overlay method to the overlay
>> documention file.
>
> Why? Please write some decent commit messages.
>
>> Signed-off-by: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx>
>> ---
>> Documentation/devicetree/overlay-notes.txt | 13 +++++++++++++
>> 1 file changed, 13 insertions(+)
>>
>> diff --git a/Documentation/devicetree/overlay-notes.txt b/Documentation/devicetree/overlay-notes.txt
>> index d418a6c..dd595e6 100644
>> --- a/Documentation/devicetree/overlay-notes.txt
>> +++ b/Documentation/devicetree/overlay-notes.txt
>> @@ -100,6 +100,10 @@ Finally, if you need to remove all overlays in one-go, just call
>> of_overlay_destroy_all() which will remove every single one in the correct
>> order.
>>
>> +If your board has multiple slots/places where a single overlay can work
>> +and each slot is defined by a node, you can use the of_overlay_create_indirect()
>> +method to select the target.
>> +
>> Overlay DTS Format
>> ------------------
>>
>> @@ -113,6 +117,11 @@ The DTS of an overlay should have the following format:
>> target=<phandle>; /* phandle target of the overlay */
>> or
>> target-path="/path"; /* target path of the overlay */
>
> Why not just let these take multiple values and the user just selects index?
>
Implementation details. Usually thereâs a descriptive label used for each
different target point. It could be a slot# or it could be a labelâ
A string selector maps better IMO.
>> + or
>> + target-indirect { /* indirect target selector */
>> + foo { target|target-path ... };
>> + bar { .... };
>> + };
>>
>> __overlay__ {
>> property-a; /* add property-a to the target */
>> @@ -131,3 +140,7 @@ Using the non-phandle based target method allows one to use a base DT which does
>> not contain a __symbols__ node, i.e. it was not compiled with the -@ option.
>> The __symbols__ node is only required for the target=<phandle> method, since it
>> contains the information required to map from a phandle to a tree location.
>> +
>> +The indirect target requires the use of a selector target on the call to
>> +of_overlay_create_indirect(). I.e. passing the "foo" id will select the target
>> +in the foo node, "bar" in bar node, etc.
>> --
>> 1.7.12
>>
Regards
â Pantelis