Re: [PATCH 0/3] Add capability to create property from old property

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



On Sat, Mar 01, 2025 at 06:55:01PM +0530, Ayush Singh wrote:
> Allow construction of new values for a property using old property
> value.
> 
> This was originally suggested in /append-property/ Patch series [0] and
> can be used to achieve the same results (and much more).
> 
> In practice, it looks as follows:
> 
> dts-v1/;
> 
> / {
> 	str-prop = "0";
> 	int-prop = <0>;
> };
> 
> / {
> 	str-prop = /./, "1", /./;
> 	int-prop = /./, <1>, /./;
> };
> 
> Open Items:
> 
> - Integer array:
> 
>   Currently, the use with integer arrays looks as follows:
> 
>   /dts-v1/;
>   
>   / {
>           int-prop = <0 1>;
>   };
>   
>   / {
>           int-prop = /./, <2 3>, /./;
>   };
> 
>   This will produce the correct code, and I personally prefer the
>   current syntax to ``</./ 1 /./>``.

You've made the correct choice.  We don't exactly keep track of types
in dtc, but we do some things close enough that you can kind of think
of things in terms of types.  </./ 1 /./> would make no sense from a
typing point of view, because you're putting a bytestring value /./ in
an operator that expects integers < ... >.

> - dts to source output can look somewhat weird
> 
>   The above dts produces the following with annoation:
> 
>   /dts-v1/;
>   
>   / { /* base.dts:3:3-5:3, base.dts:7:3-9:3 */
>           int-prop = <0x00 0x01>, <0x02 0x03>, <0x00 0x01>; /* base.dts:4:9-4:26, base.dts:8:9-8:36 */
>   }; /* base.dts:3:3-5:3, base.dts:7:3-9:3 */
> 
>   It isn't a real problem since it allows easily tracing that some parts
>   were constructed at other places, but is differnt from how a normal
>   array would appear.

Right.  This is just another example of the fact that properties are
just bytestrings, so how we format them for -Odts is a guess as to
type.  I sometimes think that preserving some "type" information
during the run so that -I dts -O dts will give output more similar to
the input was a mistake, since it can increase the false impression
that the dtb format is self-describing.

-- 
David Gibson (he or they)	| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you, not the other way
				| around.
http://www.ozlabs.org/~dgibson

Attachment: signature.asc
Description: PGP signature


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

  Powered by Linux