Subject: Re: [REGRESSION] next/master: (build) initialization of‘int (*)(void *)’ from incompatible pointer type...

From: Stephen Rothwell <[email-masked]>
Date: Wed, 17 Dec 2025 16:43:46 +1100

Hi all,

On Wed, 17 Dec 2025 04:59:03 -0000 KernelCI bot <[email-masked]> wrote:
>
> New build issue found on next/master:
> 
> ---
>  initialization of ‘int (*)(void *)’ from incompatible pointer type ‘int (*)(void)’ [-Wincompatible-pointer-types] in drivers/irqchip/irq-riscv-aplic-main.o (drivers/irqchip/irq-riscv-aplic-main.c) [logspec:kbuild,kbuild.compiler.error]
> ---
> 
> - dashboard: https://d.kernelci.org/i/maestro:c537d0d22aa608b88bb407d6e02b6a733d3f78cf
> - giturl: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> - commit HEAD:  12b95d29eb979e5c4f4f31bb05817bc935c52050
> - tags: next-20251217
> 
> Please include the KernelCI tag when submitting a fix:
> 
> Reported-by: kernelci.org bot <[email-masked]>
> 
> 
> Log excerpt:
> =====================================================
> drivers/irqchip/irq-riscv-aplic-main.c:111:20: error: initialization of ‘int (*)(void *)’ from incompatible pointer type ‘int (*)(void)’ [-Wincompatible-pointer-types]
>   111 |         .suspend = aplic_syscore_suspend,
>       |                    ^~~~~~~~~~~~~~~~~~~~~
> drivers/irqchip/irq-riscv-aplic-main.c:111:20: note: (near initialization for ‘aplic_syscore_ops.suspend’)
> drivers/irqchip/irq-riscv-aplic-main.c:112:19: error: initialization of ‘void (*)(void *)’ from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
>   112 |         .resume = aplic_syscore_resume,
>       |                   ^~~~~~~~~~~~~~~~~~~~
> drivers/irqchip/irq-riscv-aplic-main.c:112:19: note: (near initialization for ‘aplic_syscore_ops.resume’)
> drivers/irqchip/irq-riscv-aplic-main.c: In function ‘aplic_probe’:
> drivers/irqchip/irq-riscv-aplic-main.c:375:17: error: implicit declaration of function ‘register_syscore_ops’; did you mean ‘register_syscore’? [-Wimplicit-function-declaration]
>   375 |                 register_syscore_ops(&aplic_syscore_ops);
>       |                 ^~~~~~~~~~~~~~~~~~~~
>       |                 register_syscore
> 
> =====================================================
> 
> 
> # Builds where the incident occurred:
> 
> ## defconfig on (riscv):
> - compiler: gcc-14
> - config: https://files.kernelci.org/kbuild-gcc-14-riscv-build-only-69422a0bcbfd84c3cdbdaaa0/.config
> - dashboard: https://d.kernelci.org/build/maestro:69422a0bcbfd84c3cdbdaaa0
> 
> 
> #kernelci issue maestro:c537d0d22aa608b88bb407d6e02b6a733d3f78cf
> 
> --
> This is an experimental report format. Please send feedback in!
> Talk to us at [email-masked]
> 
> Made with love by the KernelCI team - https://kernelci.org
> 

Caused by commit

  1c546bb43361 ("irqchip/riscv-aplic: Preserve APLIC states across suspend/resume")

From the tip tree
(https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git#master).

The call back arguments and the registration method changed in
v6.19-rc1 in commit

  a97fbc3ee3e2 ("syscore: Pass context data to callbacks")

-- 
Cheers,
Stephen Rothwell