On Thu, Jun 27, 2024, at 14:49, Naresh Kamboju wrote:
The powerpc builds failed on Linux next-20240626 tag due to following
arch/powerpc/kernel/nvram_64.c:79:17: error: initialization of 'void (*)(struct kmsg_dumper *, enum kmsg_dump_reason, const char *)' from incompatible pointer type 'void (*)(struct kmsg_dumper *, enum kmsg_dump_reason)' [-Werror=incompatible-pointer-types] 79 | .dump = oops_to_nvram | ^~~~~~~~~~~~~ arch/powerpc/kernel/nvram_64.c:79:17: note: (near initialization for 'nvram_kmsg_dumper.dump') arch/powerpc/kernel/nvram_64.c:645:13: error: conflicting types for 'oops_to_nvram'; have 'void(struct kmsg_dumper *, enum kmsg_dump_reason, const char *)' 645 | static void oops_to_nvram(struct kmsg_dumper *dumper, | ^~~~~~~~~~~~~ arch/powerpc/kernel/nvram_64.c:75:13: note: previous declaration of 'oops_to_nvram' with type 'void(struct kmsg_dumper *, enum kmsg_dump_reason)' 75 | static void oops_to_nvram(struct kmsg_dumper *dumper, | ^~~~~~~~~~~~~ arch/powerpc/kernel/nvram_64.c:75:13: error: 'oops_to_nvram' used but never defined [-Werror] arch/powerpc/kernel/nvram_64.c:645:13: error: 'oops_to_nvram' defined but not used [-Werror=unused-function] 645 | static void oops_to_nvram(struct kmsg_dumper *dumper, | ^~~~~~~~~~~~~ cc1: all warnings being treated as error
The problem is the forward declaration that was not changed as part of commit 7e72bb7504d1 ("printk: add a short description string to kmsg_dump()"). This should fix it:
diff --git a/arch/powerpc/kernel/nvram_64.c b/arch/powerpc/kernel/nvram_64.c index e385d3164648..a9da83c4243a 100644 --- a/arch/powerpc/kernel/nvram_64.c +++ b/arch/powerpc/kernel/nvram_64.c @@ -73,7 +73,8 @@ static const char *nvram_os_partitions[] = { };
static void oops_to_nvram(struct kmsg_dumper *dumper, - enum kmsg_dump_reason reason); + enum kmsg_dump_reason reason, + const char *desc);
static struct kmsg_dumper nvram_kmsg_dumper = { .dump = oops_to_nvram
Arnd