SPL: Add struct spl_boot_device parameter into spl_parse_board_header()

Add parameter spl_boot_device to spl_parse_board_header(), which allows
the implementations to see from which device we are booting and do
boot-device-specific checks of the image header.

Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Stefan Roese <sr@denx.de>
diff --git a/common/spl/spl_fat.c b/common/spl/spl_fat.c
index 576c2e8..5b27054 100644
--- a/common/spl/spl_fat.c
+++ b/common/spl/spl_fat.c
@@ -55,6 +55,7 @@
 }
 
 int spl_load_image_fat(struct spl_image_info *spl_image,
+		       struct spl_boot_device *bootdev,
 		       struct blk_desc *block_dev, int partition,
 		       const char *filename)
 {
@@ -76,7 +77,7 @@
 		err = file_fat_read(filename, (void *)CONFIG_SYS_LOAD_ADDR, 0);
 		if (err <= 0)
 			goto end;
-		err = spl_parse_image_header(spl_image,
+		err = spl_parse_image_header(spl_image, bootdev,
 				(struct image_header *)CONFIG_SYS_LOAD_ADDR);
 		if (err == -EAGAIN)
 			return err;
@@ -94,7 +95,7 @@
 
 		return spl_load_simple_fit(spl_image, &load, 0, header);
 	} else {
-		err = spl_parse_image_header(spl_image, header);
+		err = spl_parse_image_header(spl_image, bootdev, header);
 		if (err)
 			goto end;
 
@@ -114,6 +115,7 @@
 
 #if CONFIG_IS_ENABLED(OS_BOOT)
 int spl_load_image_fat_os(struct spl_image_info *spl_image,
+			  struct spl_boot_device *bootdev,
 			  struct blk_desc *block_dev, int partition)
 {
 	int err;
@@ -134,7 +136,7 @@
 		}
 		file = env_get("falcon_image_file");
 		if (file) {
-			err = spl_load_image_fat(spl_image, block_dev,
+			err = spl_load_image_fat(spl_image, bootdev, block_dev,
 						 partition, file);
 			if (err != 0) {
 				puts("spl: falling back to default\n");
@@ -160,11 +162,12 @@
 		return -1;
 	}
 
-	return spl_load_image_fat(spl_image, block_dev, partition,
+	return spl_load_image_fat(spl_image, bootdev, block_dev, partition,
 			CONFIG_SPL_FS_LOAD_KERNEL_NAME);
 }
 #else
 int spl_load_image_fat_os(struct spl_image_info *spl_image,
+			  struct spl_boot_device *bootdev,
 			  struct blk_desc *block_dev, int partition)
 {
 	return -ENOSYS;