X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=common%2Fsplash_source.c;h=e0defdebd6ae7a24cfd5cb345020b047d1465d07;hb=f9674f5eec984e3ae8442c7b2b7bde667e108e55;hp=a5eeb3f12c581e0f1d58792a250da16345e551c6;hpb=373ae16c9282cf6dfb39cd6e1b8ad26098635ca2;p=u-boot diff --git a/common/splash_source.c b/common/splash_source.c index a5eeb3f12c..e0defdebd6 100644 --- a/common/splash_source.c +++ b/common/splash_source.c @@ -47,9 +47,10 @@ static int splash_sf_read_raw(u32 bmp_load_addr, int offset, size_t read_size) #ifdef CONFIG_CMD_NAND static int splash_nand_read_raw(u32 bmp_load_addr, int offset, size_t read_size) { - return nand_read_skip_bad(nand_info[nand_curr_device], offset, + struct mtd_info *mtd = get_nand_dev_by_index(nand_curr_device); + return nand_read_skip_bad(mtd, offset, &read_size, NULL, - nand_info[nand_curr_device]->size, + mtd->size, (u_char *)bmp_load_addr); } #else @@ -162,10 +163,10 @@ static inline int splash_init_usb(void) } #endif -#ifdef CONFIG_CMD_SATA +#ifdef CONFIG_SATA static int splash_init_sata(void) { - return sata_initialize(); + return sata_probe(0); } #else static inline int splash_init_sata(void) @@ -216,9 +217,10 @@ static int splash_load_fs(struct splash_location *location, u32 bmp_load_addr) { int res = 0; loff_t bmp_size; + loff_t actread; char *splash_file; - splash_file = getenv("splashfile"); + splash_file = env_get("splashfile"); if (!splash_file) splash_file = SPLASH_SOURCE_DEFAULT_FILE_NAME; @@ -251,7 +253,7 @@ static int splash_load_fs(struct splash_location *location, u32 bmp_load_addr) } splash_select_fs_dev(location); - res = fs_read(splash_file, bmp_load_addr, 0, 0, NULL); + res = fs_read(splash_file, bmp_load_addr, 0, 0, &actread); out: if (location->ubivol != NULL) @@ -284,7 +286,7 @@ static struct splash_location *select_splash_location( if (!locations || size == 0) return NULL; - env_splashsource = getenv("splashsource"); + env_splashsource = env_get("splashsource"); if (env_splashsource == NULL) return &locations[0]; @@ -315,6 +317,11 @@ static int splash_load_fit(struct splash_location *location, u32 bmp_load_addr) return res; img_header = (struct image_header *)bmp_load_addr; + if (image_get_magic(img_header) != FDT_MAGIC) { + printf("Could not find FDT magic\n"); + return -EINVAL; + } + fit_size = fdt_totalsize(img_header); /* Read in entire FIT */ @@ -381,7 +388,7 @@ int splash_source_load(struct splash_location *locations, uint size) char *env_splashimage_value; u32 bmp_load_addr; - env_splashimage_value = getenv("splashimage"); + env_splashimage_value = env_get("splashimage"); if (env_splashimage_value == NULL) return -ENOENT;