[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <dee4b415-0696-90f3-0e2f-2230ff941e1b@gmail.com>
Date: Wed, 5 Apr 2023 14:09:55 -0400
From: Sean Anderson <seanga2@...il.com>
To: Matthew Wilcox <willy@...radead.org>,
Simon Horman <horms@...nel.org>
Cc: Jakub Kicinski <kuba@...nel.org>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Paolo Abeni <pabeni@...hat.com>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
kernel test robot <lkp@...el.com>, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org,
Linux Memory Management List <linux-mm@...ck.org>,
linux-m68k@...ts.linux-m68k.org
Subject: Re: [PATCH net-next] net: sunhme: move asm includes to below linux
includes
On 4/5/23 14:07, Matthew Wilcox wrote:
> On Wed, Apr 05, 2023 at 08:02:37PM +0200, Simon Horman wrote:
>> 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@intel.com/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?
>
> We always include linux/* headers before asm/*. The "sorting" of
> headers in this way was inappropriate.
Is this written down anywhere? I couldn't find it in Documentation/process...
--Sean
Powered by blists - more mailing lists