lib: sign conflict in wake_coldboot_harts()
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Mon, 21 Jun 2021 19:37:54 +0000 (21:37 +0200)
committerAnup Patel <anup@brainfault.org>
Tue, 22 Jun 2021 13:44:30 +0000 (19:14 +0530)
Compiling wake_coldboot_harts() with GCC 11 and -Wextra yields:

lib/sbi/sbi_init.c:208:27:
error: comparison of integer expressions of different signedness:
‘int’ and ‘u32’ {aka ‘unsigned int’} [-Werror=sign-compare]
  208 |         for (int i = 0; i <= sbi_scratch_last_hartid(); i++) {
      |                           ^~

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
Reviewed-by: Xiang W <wxjstz@126.com>
lib/sbi/sbi_init.c

index b158314..e396d95 100644 (file)
@@ -205,7 +205,7 @@ static void wake_coldboot_harts(struct sbi_scratch *scratch, u32 hartid)
        spin_lock(&coldboot_lock);
 
        /* Send an IPI to all HARTs waiting for coldboot */
-       for (int i = 0; i <= sbi_scratch_last_hartid(); i++) {
+       for (u32 i = 0; i <= sbi_scratch_last_hartid(); i++) {
                if ((i != hartid) &&
                    sbi_hartmask_test_hart(i, &coldboot_wait_hmask))
                        sbi_ipi_raw_send(i);