Re: linux-next: build failures after merge of the staging tree

From: Geert Uytterhoeven
Date: Mon Jan 04 2021 - 03:28:10 EST


On Mon, Jan 4, 2021 at 6:12 AM Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> After merging the staging tree, today's linux-next build (arm
> multi_v7_defconfig) failed like this:
>
> In file included from include/linux/printk.h:6,
> from include/linux/kernel.h:16,
> from drivers/staging/board/kzm9d.c:4:
> drivers/staging/board/kzm9d.c:28:17: error: initialization of 'initcall_t' {aka 'int (*)(void)'} from incompatible pointer type 'void (*)(void)' [-Werror=incompatible-pointer-types]
> 28 | device_initcall(kzm9d_init);
> | ^~~~~~~~~~
> include/linux/init.h:197:50: note: in definition of macro '___define_initcall'
> 197 | __attribute__((__section__(#__sec ".init"))) = fn;
> | ^~
> include/linux/init.h:229:30: note: in expansion of macro '__define_initcall'
> 229 | #define device_initcall(fn) __define_initcall(fn, 6)
> | ^~~~~~~~~~~~~~~~~
> drivers/staging/board/kzm9d.c:28:1: note: in expansion of macro 'device_initcall'
> 28 | device_initcall(kzm9d_init);
> | ^~~~~~~~~~~~~~~
> cc1: some warnings being treated as errors
> In file included from include/linux/printk.h:6,
> from include/linux/kernel.h:16,
> from include/asm-generic/bug.h:20,
> from arch/arm/include/asm/bug.h:60,
> from include/linux/bug.h:5,
> from include/linux/thread_info.h:12,
> from include/asm-generic/current.h:5,
> from ./arch/arm/include/generated/asm/current.h:1,
> from include/linux/sched.h:12,
> from include/linux/ratelimit.h:6,
> from include/linux/dev_printk.h:16,
> from include/linux/device.h:15,
> from include/linux/dma-mapping.h:7,
> from drivers/staging/board/armadillo800eva.c:12:
> drivers/staging/board/armadillo800eva.c:90:17: error: initialization of 'initcall_t' {aka 'int (*)(void)'} from incompatible pointer type 'void (*)(void)' [-Werror=incompatible-pointer-types]
> 90 | device_initcall(armadillo800eva_init);
> | ^~~~~~~~~~~~~~~~~~~~
> include/linux/init.h:197:50: note: in definition of macro '___define_initcall'
> 197 | __attribute__((__section__(#__sec ".init"))) = fn;
> | ^~
> include/linux/init.h:229:30: note: in expansion of macro '__define_initcall'
> 229 | #define device_initcall(fn) __define_initcall(fn, 6)
> | ^~~~~~~~~~~~~~~~~
> drivers/staging/board/armadillo800eva.c:90:1: note: in expansion of macro 'device_initcall'
> 90 | device_initcall(armadillo800eva_init);
> | ^~~~~~~~~~~~~~~
>
> Caused by commit
>
> 850c35bb28ec ("staging: board: Remove macro board_staging")
>
> I have used the staging tree from next-20201223 for today.

Note that a similar patch was (IMHO rightfully) rejected 3 years ago:
https://lore.kernel.org/lkml/20170220175506.GA30142@xxxxxxxxx/

So please drop it. Thanks!

Gr{oetje,eeting}s,

Geert


--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds