msm: dev_tree: add support for multiple concatenated dev trees

The kernel build can suppor appending multiple device trees
after the zImage. We now iterate through the device trees
looking for a match according to
platform_id/hardware_id/soc_version in the device tree's /qcom,msm_id
node.

Change-Id: I5e6b3da7a9343af2eb1f8ac7890c06f1e2726134
Signed-off-by: Dima Zavin <dima@android.com>
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
diff --git a/app/aboot/aboot.c b/app/aboot/aboot.c
index a006ab1..2e4b820 100644
--- a/app/aboot/aboot.c
+++ b/app/aboot/aboot.c
@@ -765,7 +765,8 @@
 			 */
 			void *dtb;
 			dtb = dev_tree_appended((void*) hdr->kernel_addr,
-						(void *)hdr->tags_addr, hdr->kernel_size);
+						hdr->kernel_size,
+						(void *)hdr->tags_addr);
 			if (!dtb) {
 				dprintf(CRITICAL, "ERROR: Appended Device Tree Blob not found\n");
 				return -1;
@@ -856,7 +857,8 @@
 			 */
 			void *dtb;
 			dtb = dev_tree_appended((void*) hdr->kernel_addr,
-						(void *)hdr->tags_addr, hdr->kernel_size);
+						kernel_actual,
+						(void *)hdr->tags_addr);
 			if (!dtb) {
 				dprintf(CRITICAL, "ERROR: Appended Device Tree Blob not found\n");
 				return -1;
@@ -1421,7 +1423,8 @@
 	 */
 	if (!dtb_copied) {
 		void *dtb;
-		dtb = dev_tree_appended((void *)hdr->kernel_addr, (void *)hdr->tags_addr, hdr->kernel_size);
+		dtb = dev_tree_appended((void *)hdr->kernel_addr, hdr->kernel_size,
+					(void *)hdr->tags_addr);
 		if (!dtb) {
 			fastboot_fail("dtb not found");
 			return;