Some DTBOs might use symbols from other DTBOs and require them to be
applied before them.
Sort them based on the __symbols__ and __fixups__ nodes, by creating a
dependency graph.
Change-Id: I40acf5da6b673b636a91f75ae3f3c634f2b5c505
Some OEMs add their own properties to avoid merging incompatible
overlays for different devices with the same QCOM soc.
Change-Id: Ic5b38a122173d8e9ecc1f0f399411cb37acf3150
Incorporate the hash of a combination of all msm-ids, board-ids, and
pmic-ids of the InnerMergedDeviceTree in the final filenames of the
saved InnerMergedDeviceTrees.
Change-Id: I629e1a274b23d71061c547578d1ddbcf92c8cf79
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
Use the logging module to log important information to various log
levels: info, debug, warning and error.
- Modify __str__ representations of classes DeviceTree and
InnerMergedDeviceTree for readability in debug logs
- Make parse_dt_files() return instead of yield so as to order all the
filename parsing at one go after the preceding log messages
Use the argparse module to specify script arguments cleanly. Also make
the corresponding change to merge_dtbs.sh to invoke this script with the
correct flags.
Change-Id: Id09d9d7b34cde60eff99876f0c0c4f6643852aee
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
When debugging issues with the script, it helps to not have in the
script's output the fully qualified path names of the DTB and DTBO files
being merged as they are very lengthy. Retain only the relevant parts of
the filnames - the basenames for better readability.
Change-Id: Ia18584fcf9ff173c4b22d4543c83c4091e15b8f8
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>