arm: stm32mp: stm32prog: fix warning when CONFIG_SYS_64BIT_LBA is enable
authorPatrice Chotard <patrice.chotard@foss.st.com>
Fri, 29 Nov 2024 12:27:07 +0000 (13:27 +0100)
committerPatrice Chotard <patrice.chotard@foss.st.com>
Fri, 31 Jan 2025 07:57:39 +0000 (08:57 +0100)
If CONFIG_SYS_64BIT_LBA flag is enable, following warning is triggered:

../arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c: In function 'init_device':
../arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c:793:27: warning: format
'%ld' expects argument of type 'long int', but argument 8 has type
'lbaint_t' {aka 'long long unsigned int'} [-Wformat=]
  793 |                 log_debug("MMC %d: lba=%ld blksz=%ld\n", dev->dev_id,
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/log.h:157:21: note: in definition of macro 'pr_fmt'
  157 | #define pr_fmt(fmt) fmt
      |                     ^~~
../include/log.h:182:33: note: in expansion of macro 'log'
  182 | #define log_debug(_fmt...)      log(LOG_CATEGORY, LOGL_DEBUG, ##_fmt)
      |                                 ^~~
../arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c:793:17: note: in expansion
of macro 'log_debug'
  793 |                 log_debug("MMC %d: lba=%ld blksz=%ld\n", dev->dev_id,
      |                 ^~~~~~~~~
../arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c:793:42: note: format string
is defined here
  793 |                 log_debug("MMC %d: lba=%ld blksz=%ld\n", dev->dev_id,
      |                                        ~~^
      |                                          |
      |                                          long int
      |                                        %lld

Cast block_dev->lba to u64 and set the length specifier to %lld which
is ok with or without CONFIG_SYS_64BIT_LBA flag.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c

index 393f9a1..f0e019e 100644 (file)
@@ -790,8 +790,8 @@ static int init_device(struct stm32prog_data *data,
                        last_addr = (u64)(block_dev->lba - GPT_HEADER_SZ - 1) *
                                    block_dev->blksz;
                }
-               log_debug("MMC %d: lba=%ld blksz=%ld\n", dev->dev_id,
-                         block_dev->lba, block_dev->blksz);
+               log_debug("MMC %d: lba=%lld blksz=%ld\n", dev->dev_id,
+                         (u64)block_dev->lba, block_dev->blksz);
                log_debug(" available address = 0x%llx..0x%llx\n",
                          first_addr, last_addr);
                log_debug(" full_update = %d\n", dev->full_update);