History log of /system/libufdt/include/ufdt_types.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4f00eda9fa05364edd719b05b88e4445682eeee5 06-Apr-2017 SzuWei Lin <szuweilin@google.com> Add Apache2 module license

Bug: 36678371
Test: mmm system/libufdt, and success build
Change-Id: I73059f5beca2242f8883fca86cb49d53d0f543b8
(cherry picked from commit 6ad4caae73191bdc2403185b6482969c17604c95)
/system/libufdt/include/ufdt_types.h
435687606727710e91e827daa8e9227d760b4a1c 30-Mar-2017 SzuWei Lin <szuweilin@google.com> Avoid to re-generate string table from ufdt to fdt

String table contains the strings of all property name in a fdt.

The ufdt_apply_overlay() converts two dtbs from fdt to ufdt,
overlays, and converts merged ufdt to fdt. These operations
shouldn't create new peroperty names, so we can just re-use the
string tables in original dtbs, and just copy them into merged
fdt. This solution can enhance a lot of performance for device
tree overlaying.

To avoid the error that some users could use string offset in
string table, the solution also give a same string offset for
the name properties by ufdt_prop_dict;

Futher, the patch also removed unused header files after
changing algorithm.

Bug: 35255584
Test: ./tests/run_tests.sh
Change-Id: Id422730115531bd20d21117285291bdd860915ff
(cherry picked from commit 1be68ae53e645de1b2ec26140b302fbfcbbb919f)
/system/libufdt/include/ufdt_types.h
08dd727484a9f5619e0be18a1f601c21f371c5b7 20-Feb-2017 SzuWei Lin <szuweilin@google.com> Fix the libufdt overlay node order

libufdt could reversed the node order during overlaying.

However, the libfdt overlay in dtc doesn't promise the node order.
But looks there are some implementation of kernel drivers depend on
the order in DTS.

The patch keeps the DTB/DTBO node order during libufdt overlaying.
Notes that the node order merged by libufdt could not match the
result of libfdt.

Bug: 35429321
Test: run test scripts (see libufdt/tests/README)
Change-Id: I7209ebfaa21d6640d547b029ea0f0edf6e58fca1
/system/libufdt/include/ufdt_types.h
f6c209b3f409f879305ac9837524b9d34c850de6 27-Nov-2016 Li Chen <akaineko@google.com> libufdt: device tree overlay via unflattening FDT

The original version of libdtoverlay is slow in searching for
particular nodes and adding subnodes/properties due to the operations
on flattened device tree (FDT).

`libufdt` builds a real tree structure (named ufdt -- unflattned
device tree) from FDT. In the real tree, we can perform certain
operations (e.g., merge 2 subtrees, search for a node by path) in
almost optimal time complexity with acceptable additional memory usage.

With libufdt, we improve the merging of two dtb files from O(N^2) to
O(N), where N is the number of nodes in the tree.

Bug: 30800619
Test: run test scripts (see libufdt/tests/README)
Test: manually ported libufdt into a bootloader,
checked it can merge a base dtb and a dtbo to generate a final dtb
to boot the device

Change-Id: I1ff886bb8a62bad1451edcd7c4fe5cb48b7a034a
/system/libufdt/include/ufdt_types.h
eeaff8f66f44518a0e776957c6e0921f7799ace2 14-Dec-2016 Jeff Hao <jeffhao@google.com> Revert "libufdt: device tree overlay via unflattening FDT"

This reverts commit 3084ce7cbdff84093286459758f99c15082e6556.

Change-Id: I36f8252ea77c75301711009180c1908bb18e231c
/system/libufdt/include/ufdt_types.h
3084ce7cbdff84093286459758f99c15082e6556 27-Nov-2016 LiChen <akaineko@google.com> libufdt: device tree overlay via unflattening FDT

The original version of libdtoverlay is slow in searching for
particular nodes and adding subnodes/properties due to the operations
on flattened device tree (FDT).

`libufdt` builds a real tree structure (named ufdt -- unflattned
device tree) from FDT. In the real tree, we can perform certain
operations (e.g., merge 2 subtrees, search for a node by path) in
almost optimal time complexity with acceptable additional memory usage.

With libufdt, we improve the merging of two dtb files from O(N^2) to
O(N), where N is the number of nodes in the tree.

Bug: 30800619
Test: run test scripts (see libufdt/tests/README)
Test: manually ported libufdt into a bootloader,
checked it can merge a base dtb and a dtbo to generate a final dtb
to boot the device
Change-Id: I6a282cc99129d5280ecbf40852723f83735fa523
/system/libufdt/include/ufdt_types.h