On Wed, Apr 05, 2023 at 01:34:11PM -0400, Sean Anderson wrote: > On 4/5/23 13:29, Simon Horman wrote: > > A recent rearrangement of includes has lead to a problem on m68k > > as flagged by the kernel test robot. > > > > Resolve this by moving the block asm includes to below linux includes. > > A side effect i that non-Sparc asm includes are now immediately > > before Sparc asm includes, which seems nice. > > > > Using sparse v0.6.4 I was able to reproduce this problem as follows > > using the config provided by the kernel test robot: > > > > $ wget https://download.01.org/0day-ci/archive/20230404/202304041748.0sQc4K4l-lkp@xxxxxxxxx/config > > $ cp config .config > > $ make ARCH=m68k oldconfig > > $ make ARCH=m68k C=2 M=drivers/net/ethernet/sun > > CC [M] drivers/net/ethernet/sun/sunhme.o > > In file included from drivers/net/ethernet/sun/sunhme.c:19: > > ./arch/m68k/include/asm/irq.h:78:11: error: expected ‘;’ before ‘void’ > > 78 | asmlinkage void do_IRQ(int irq, struct pt_regs *regs); > > | ^~~~~ > > | ; > > ./arch/m68k/include/asm/irq.h:78:40: warning: ‘struct pt_regs’ declared inside parameter list will not be visible outside of this definition or declaration > > 78 | asmlinkage void do_IRQ(int irq, struct pt_regs *regs); > > | ^~~~~~~ > > This seems like a problem with the header. m68k's asm/irq.h should include linux/interrupt.h before its declarations. Hi Sean, I do see your point. But TBH I'm unsure which way to go on this one. Geert, do you have any input? > --Sean > > > Compile tested only. > > > > Fixes: 1ff4f42aef60 ("net: sunhme: Alphabetize includes") > > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > Link: https://lore.kernel.org/oe-kbuild-all/202304041748.0sQc4K4l-lkp@xxxxxxxxx/ > > Signed-off-by: Simon Horman <horms@xxxxxxxxxx> > > --- > > drivers/net/ethernet/sun/sunhme.c | 7 ++++--- > > 1 file changed, 4 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/net/ethernet/sun/sunhme.c b/drivers/net/ethernet/sun/sunhme.c > > index ec85aef35bf9..b93613cd1994 100644 > > --- a/drivers/net/ethernet/sun/sunhme.c > > +++ b/drivers/net/ethernet/sun/sunhme.c > > @@ -14,9 +14,6 @@ > > * argument : macaddr=0x00,0x10,0x20,0x30,0x40,0x50 > > */ > > -#include <asm/byteorder.h> > > -#include <asm/dma.h> > > -#include <asm/irq.h> > > #include <linux/bitops.h> > > #include <linux/crc32.h> > > #include <linux/delay.h> > > @@ -45,6 +42,10 @@ > > #include <linux/types.h> > > #include <linux/uaccess.h> > > +#include <asm/byteorder.h> > > +#include <asm/dma.h> > > +#include <asm/irq.h> > > + > > #ifdef CONFIG_SPARC > > #include <asm/auxio.h> > > #include <asm/idprom.h> > > >