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

From: Guenter Roeck
Date: Fri May 24 2024 - 11:11:06 EST


On Wed, May 15, 2024 at 10:05:59AM -0700, Palmer Dabbelt wrote:
> 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.
>

Unfortunately it looks like the conflict resolution did not happen,
and mainline builds are now affected.

Guenter