2013-10-23 02:13:13

by Chen Gang

[permalink] [raw]
Subject: [PATCH] arc: include: asm: remove '__init' for setup_processor() and arc_init_IRQ()

They haven't '__init' in definition, but has '__init' in declaration.
And normal function start_kernel_secondary() may call setup_processor()
which will call arc_init_IRQ().

So need remove '__init' for both of them. The related warning (with
allmodconfig):

MODPOST vmlinux.o
WARNING: vmlinux.o(.text+0x3084): Section mismatch in reference from the function start_kernel_secondary() to the function .init.text:setup_processor()
The function start_kernel_secondary() references
the function __init setup_processor().
This is often because start_kernel_secondary lacks a __init
annotation or the annotation of setup_processor is wrong.


Signed-off-by: Chen Gang <[email protected]>
---
arch/arc/include/asm/irq.h | 2 +-
arch/arc/include/asm/setup.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arc/include/asm/irq.h b/arch/arc/include/asm/irq.h
index c0a7210..548207f 100644
--- a/arch/arc/include/asm/irq.h
+++ b/arch/arc/include/asm/irq.h
@@ -18,7 +18,7 @@

#include <asm-generic/irq.h>

-extern void __init arc_init_IRQ(void);
+extern void arc_init_IRQ(void);
extern int __init get_hw_config_num_irq(void);

void arc_local_timer_setup(unsigned int cpu);
diff --git a/arch/arc/include/asm/setup.h b/arch/arc/include/asm/setup.h
index 229e506..e10f8ce 100644
--- a/arch/arc/include/asm/setup.h
+++ b/arch/arc/include/asm/setup.h
@@ -31,7 +31,7 @@ struct cpuinfo_data {
extern int root_mountflags, end_mem;
extern int running_on_hw;

-void __init setup_processor(void);
+void setup_processor(void);
void __init setup_arch_memory(void);

#endif /* __ASMARC_SETUP_H */
--
1.7.7.6


2013-10-28 13:56:45

by Vineet Gupta

[permalink] [raw]
Subject: Re: [PATCH] arc: include: asm: remove '__init' for setup_processor() and arc_init_IRQ()

On 10/23/2013 07:42 AM, Chen Gang wrote:
> They haven't '__init' in definition, but has '__init' in declaration.
> And normal function start_kernel_secondary() may call setup_processor()
> which will call arc_init_IRQ().
>
> So need remove '__init' for both of them. The related warning (with
> allmodconfig):
>
> MODPOST vmlinux.o
> WARNING: vmlinux.o(.text+0x3084): Section mismatch in reference from the function start_kernel_secondary() to the function .init.text:setup_processor()
> The function start_kernel_secondary() references
> the function __init setup_processor().
> This is often because start_kernel_secondary lacks a __init
> annotation or the annotation of setup_processor is wrong.
>
>
> Signed-off-by: Chen Gang <[email protected]>

Applied for 3.13

-Vineet

2013-10-29 01:12:37

by Chen Gang

[permalink] [raw]
Subject: Re: [PATCH] arc: include: asm: remove '__init' for setup_processor() and arc_init_IRQ()

On 10/28/2013 09:56 PM, Vineet Gupta wrote:
> On 10/23/2013 07:42 AM, Chen Gang wrote:
>> They haven't '__init' in definition, but has '__init' in declaration.
>> And normal function start_kernel_secondary() may call setup_processor()
>> which will call arc_init_IRQ().
>>
>> So need remove '__init' for both of them. The related warning (with
>> allmodconfig):
>>
>> MODPOST vmlinux.o
>> WARNING: vmlinux.o(.text+0x3084): Section mismatch in reference from the function start_kernel_secondary() to the function .init.text:setup_processor()
>> The function start_kernel_secondary() references
>> the function __init setup_processor().
>> This is often because start_kernel_secondary lacks a __init
>> annotation or the annotation of setup_processor is wrong.
>>
>>
>> Signed-off-by: Chen Gang <[email protected]>
>
> Applied for 3.13
>

Thanks.
--
Chen Gang