Browse Source
dtc currently allows the contents of properties to be changed, and the contents of nodes to be added to. There are situations where removing properties or nodes may be useful. This change implements the following syntax to do that: / { /delete-property/ propname; /delete-node/ nodename; }; or: /delete-node/ &noderef; Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: David Gibson <david@gibson.dropbear.id.au>main
Stephen Warren
12 years ago
committed by
Jon Loeliger
10 changed files with 312 additions and 52 deletions
@ -1,38 +1,3 @@ |
|||||||
/dts-v1/; |
/dts-v1/; |
||||||
|
|
||||||
/memreserve/ 0xdeadbeef00000000 0x100000; |
/include/ "test_tree1_body.dtsi" |
||||||
/memreserve/ 123456789 010000; |
|
||||||
|
|
||||||
/ { |
|
||||||
compatible = "test_tree1"; |
|
||||||
prop-int = <0xdeadbeef>; |
|
||||||
prop-int64 = /bits/ 64 <0xdeadbeef01abcdef>; |
|
||||||
prop-str = "hello world"; |
|
||||||
|
|
||||||
subnode@1 { |
|
||||||
compatible = "subnode1"; |
|
||||||
prop-int = [deadbeef]; |
|
||||||
|
|
||||||
subsubnode { |
|
||||||
compatible = "subsubnode1", "subsubnode"; |
|
||||||
prop-int = <0xdeadbeef>; |
|
||||||
}; |
|
||||||
|
|
||||||
ss1 { |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
|
||||||
subnode@2 { |
|
||||||
linux,phandle = <0x2000>; |
|
||||||
prop-int = <123456789>; |
|
||||||
|
|
||||||
ssn0: subsubnode@0 { |
|
||||||
phandle = <0x2001>; |
|
||||||
compatible = "subsubnode2", "subsubnode"; |
|
||||||
prop-int = <0726746425>; |
|
||||||
}; |
|
||||||
|
|
||||||
ss2 { |
|
||||||
}; |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
@ -0,0 +1,36 @@ |
|||||||
|
/memreserve/ 0xdeadbeef00000000 0x100000; |
||||||
|
/memreserve/ 123456789 010000; |
||||||
|
|
||||||
|
/ { |
||||||
|
compatible = "test_tree1"; |
||||||
|
prop-int = <0xdeadbeef>; |
||||||
|
prop-int64 = /bits/ 64 <0xdeadbeef01abcdef>; |
||||||
|
prop-str = "hello world"; |
||||||
|
|
||||||
|
subnode@1 { |
||||||
|
compatible = "subnode1"; |
||||||
|
prop-int = [deadbeef]; |
||||||
|
|
||||||
|
subsubnode { |
||||||
|
compatible = "subsubnode1", "subsubnode"; |
||||||
|
prop-int = <0xdeadbeef>; |
||||||
|
}; |
||||||
|
|
||||||
|
ss1 { |
||||||
|
}; |
||||||
|
}; |
||||||
|
|
||||||
|
subnode@2 { |
||||||
|
linux,phandle = <0x2000>; |
||||||
|
prop-int = <123456789>; |
||||||
|
|
||||||
|
ssn0: subsubnode@0 { |
||||||
|
phandle = <0x2001>; |
||||||
|
compatible = "subsubnode2", "subsubnode"; |
||||||
|
prop-int = <0726746425>; |
||||||
|
}; |
||||||
|
|
||||||
|
ss2 { |
||||||
|
}; |
||||||
|
}; |
||||||
|
}; |
@ -0,0 +1,68 @@ |
|||||||
|
/dts-v1/; |
||||||
|
|
||||||
|
/include/ "test_tree1_body.dtsi" |
||||||
|
|
||||||
|
/ { |
||||||
|
nonexistant-property = <0xdeadbeef>; |
||||||
|
|
||||||
|
nonexistant-subnode { |
||||||
|
prop-int = <1>; |
||||||
|
}; |
||||||
|
|
||||||
|
dellabel: deleted-by-label { |
||||||
|
prop-int = <1>; |
||||||
|
}; |
||||||
|
|
||||||
|
subnode@1 { |
||||||
|
delete-this-str = "deadbeef"; |
||||||
|
}; |
||||||
|
|
||||||
|
}; |
||||||
|
|
||||||
|
/ { |
||||||
|
/delete-property/ nonexistant-property; |
||||||
|
|
||||||
|
/delete-node/ nonexistant-subnode; |
||||||
|
|
||||||
|
subnode@1 { |
||||||
|
/delete-property/ delete-this-str; |
||||||
|
}; |
||||||
|
}; |
||||||
|
|
||||||
|
/delete-node/ &dellabel; |
||||||
|
|
||||||
|
/ { |
||||||
|
/delete-property/ prop-str; |
||||||
|
}; |
||||||
|
|
||||||
|
/ { |
||||||
|
prop-str = "hello world"; |
||||||
|
}; |
||||||
|
|
||||||
|
/ { |
||||||
|
subnode@1 { |
||||||
|
/delete-node/ ss1; |
||||||
|
}; |
||||||
|
}; |
||||||
|
|
||||||
|
/ { |
||||||
|
subnode@1 { |
||||||
|
ss1 { |
||||||
|
}; |
||||||
|
}; |
||||||
|
}; |
||||||
|
|
||||||
|
/{ |
||||||
|
duplabel1: foo1 = "bar"; |
||||||
|
duplabel2: foo2 = "bar"; |
||||||
|
}; |
||||||
|
|
||||||
|
/{ |
||||||
|
duplabel1: baz1 = "qux"; |
||||||
|
duplabel2: baz2 = "qux"; |
||||||
|
}; |
||||||
|
|
||||||
|
/{ |
||||||
|
/delete-property/ foo1; |
||||||
|
/delete-property/ baz2; |
||||||
|
}; |
Loading…
Reference in new issue