Re: riscv: irq-riscv-imsic-early.c:52:9: error: too many arguments to function 'riscv_ipi_set_virq_range'

From: Palmer Dabbelt
Date: Wed May 15 2024 - 13:06:08 EST


On Wed, 15 May 2024 07:36:33 PDT (-0700), Conor Dooley wrote:
Palmer,
This is the issue I point out to you on the call earlier:

Ya, thanks, I just hit it. Looks like it's a semantic conflict between 21a8f8a0eb35 ("irqchip: Add RISC-V incoming MSI controller early driver") and dc892fb44322 ("riscv: Use IPIs for remote cache/TLB flushes by default"). I think all we need is
diff --git a/drivers/irqchip/irq-riscv-imsic-early.c b/drivers/irqchip/irq-riscv-imsic-early.c
index 886418ec06cb..4fbb37074d29 100644
--- a/drivers/irqchip/irq-riscv-imsic-early.c
+++ b/drivers/irqchip/irq-riscv-imsic-early.c
@@ -49,7 +49,7 @@ static int __init imsic_ipi_domain_init(void)
return virq < 0 ? virq : -ENOMEM;

/* Set vIRQ range */
- riscv_ipi_set_virq_range(virq, IMSIC_NR_IPI, true);
+ riscv_ipi_set_virq_range(virq, IMSIC_NR_IPI);

/* Announce that IMSIC is providing IPIs */
pr_info("%pfwP: providing IPIs using interrupt %d\n", imsic->fwnode, IMSIC_IPI_ID);

as a conflict resolution, which IIUC should happen when Linus merges my next PR. So I'll try and remember to call that out.


On Wed, May 15, 2024 at 04:18:58PM +0200, Naresh Kamboju wrote:
The riscv builds failed on Linux next-20240515 tag due to following build
warnings / errors with gcc-13 and clang toolchain.

Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx>

Build Log:
-----
drivers/irqchip/irq-riscv-imsic-early.c: In function 'imsic_ipi_domain_init':
drivers/irqchip/irq-riscv-imsic-early.c:52:9: error: too many
arguments to function 'riscv_ipi_set_virq_range'
52 | riscv_ipi_set_virq_range(virq, IMSIC_NR_IPI, true);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/smp.h:119,
from include/linux/lockdep.h:14,
from include/linux/spinlock.h:63,
from include/linux/sched.h:2142,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from include/linux/node.h:18,
from include/linux/cpu.h:17,
from drivers/irqchip/irq-riscv-imsic-early.c:8:
arch/riscv/include/asm/smp.h:52:6: note: declared here
52 | void riscv_ipi_set_virq_range(int virq, int nr);
| ^~~~~~~~~~~~~~~~~~~~~~~~

metadata:
git_describe: next-20240515
git_repo: https://gitlab.com/Linaro/lkft/mirrors/next/linux-next
git_sha: 82d92a9a1b9ea0ea52aff27cddd05009b4edad49
git_short_log: 82d92a9a1b9e ("Add linux-next specific files for 20240515")

Links:
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20240515/testrun/23894295/suite/build/test/gcc-13-lkftconfig/details/
- https://storage.tuxsuite.com/public/linaro/lkft/builds/2gUiKdxX7qM27ritMJT5pRyZhyi/
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20240515/testrun/23894295/suite/build/test/gcc-13-lkftconfig/history/

--
Linaro LKFT
https://lkft.linaro.org