libfdt highlights since 1.4.3:
- fdt_property_placeholder added to create a property without specifying its value at creation time
- Improved overlay support
- Various internal cleanup
While here, switch stand/fdt over to using libfdt for overlay support. Our current overlay implementation works only for limited use cases with overlays generated only by some specific versions of our dtc(1). Swap it out for the libfdt implementation, which supports any properly generated overlay being applied to a properly generated base. This will be followed up with an update to dtc(1) to properly generate overlays.
Some side notes:
1.) I don't really expect this to break anything, but I'm told testing is a good idea.
2.) I have a universe build going with this, and things are looking good so far, build-testing at least is covered.
3.) I chose to go ahead and swap us over to libfdt's overlay support with this update, but that was an arbitrary update. If it seems desired, I can go ahead and separate that out. My reasoning was as follows:
a.) I'm probably the only user of overlays right now.
b.) There won't be any fallout from this that requires backout. Our current implementation of overlay support doesn't correctly merge symbols and only supported more than one overlay as of recent. If this commit needs backout, it won't be from this part.
c.) Separating it out won't really be of any use for bisecting any problems following this commit.
d.) That change was small enough that it's hard to screw up, since I already made our fdt_overlay_apply compatible with libfdt's. This part of the change is essentially just removing our fdt_overlay.{c,h} and the associated include in fdt_loader_cmd.c.