common: splash_source: Fix type casting errors
authorNikhil M Jain <n-jain1@ti.com>
Wed, 21 Jun 2023 10:59:53 +0000 (16:29 +0530)
committerTom Rini <trini@konsulko.com>
Fri, 21 Jul 2023 17:13:43 +0000 (13:13 -0400)
During compilation splash_source puts out below warning for type
conversion in splash_load_fit for bmp_load_addr and fit_header.
Change their type to uintptr_t to fix the warnings.

common/splash_source.c: In function ‘splash_load_fit’:
common/splash_source.c:366:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  366 |         img_header = (struct legacy_img_hdr *)bmp_load_addr;
      |                      ^
common/splash_source.c:376:49: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  376 |         res = splash_storage_read_raw(location, (u32)fit_header, fit_size);
      |                                                 ^
common/splash_source.c:401:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  401 |                 memmove((void *)bmp_load_addr, internal_splash_data, internal_splash_size);

The above warnings are generated if CONFIG_FIT is enabled.

Signed-off-by: Nikhil M Jain <n-jain1@ti.com>
common/splash_source.c

index a260137..7223a1a 100644 (file)
@@ -363,7 +363,7 @@ static int splash_load_fit(struct splash_location *location, u32 bmp_load_addr)
        if (res < 0)
                return res;
 
-       img_header = (struct legacy_img_hdr *)bmp_load_addr;
+       img_header = (struct legacy_img_hdr *)(uintptr_t)bmp_load_addr;
        if (image_get_magic(img_header) != FDT_MAGIC) {
                printf("Could not find FDT magic\n");
                return -EINVAL;
@@ -373,7 +373,7 @@ static int splash_load_fit(struct splash_location *location, u32 bmp_load_addr)
 
        /* Read in entire FIT */
        fit_header = (const u32 *)(bmp_load_addr + header_size);
-       res = splash_storage_read_raw(location, (u32)fit_header, fit_size);
+       res = splash_storage_read_raw(location, (uintptr_t)fit_header, fit_size);
        if (res < 0)
                return res;
 
@@ -398,7 +398,7 @@ static int splash_load_fit(struct splash_location *location, u32 bmp_load_addr)
        /* Extract the splash data from FIT */
        /* 1. Test if splash is in FIT internal data. */
        if (!fit_image_get_data(fit_header, node_offset, &internal_splash_data, &internal_splash_size))
-               memmove((void *)bmp_load_addr, internal_splash_data, internal_splash_size);
+               memmove((void *)(uintptr_t)bmp_load_addr, internal_splash_data, internal_splash_size);
        /* 2. Test if splash is in FIT external data with fixed position. */
        else if (!fit_image_get_data_position(fit_header, node_offset, &external_splash_addr))
                is_splash_external = true;