Re: [PATCH] irqchip/gic-v3: use __init where appropriate

From: Stefan Agner
Date: Thu Jan 03 2019 - 08:22:41 EST


On 03.01.2019 12:08, Marc Zyngier wrote:
> Hi Stephan,
>
> On 29/12/2018 14:14, Stefan Agner wrote:
>> Compiling with section mismatch debugging enabled prints the
>> following warning:
>> WARNING: vmlinux.o(.text+0xffa1b8): Section mismatch in reference from
>> the function gic_smp_init() to the function .init.text:set_smp_cross_call()
>>
>> Avoid this warning by adding __init to gic_smp_init(). While add it,
>> also add it where appropriate.
>>
>> Signed-off-by: Stefan Agner <stefan@xxxxxxxx>
>> ---
>> drivers/irqchip/irq-gic-v3.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
>> index 0868a9d81c3c..3b33c94041e5 100644
>> --- a/drivers/irqchip/irq-gic-v3.c
>> +++ b/drivers/irqchip/irq-gic-v3.c
>> @@ -768,7 +768,7 @@ static void gic_raise_softirq(const struct cpumask *mask, unsigned int irq)
>> isb();
>> }
>>
>> -static void gic_smp_init(void)
>> +static void __init gic_smp_init(void)
>> {
>> set_smp_cross_call(gic_raise_softirq);
>> cpuhp_setup_state_nocalls(CPUHP_AP_IRQ_GIC_STARTING,
>> @@ -848,7 +848,7 @@ static struct notifier_block gic_cpu_pm_notifier_block = {
>> .notifier_call = gic_cpu_pm_notifier,
>> };
>>
>> -static void gic_cpu_pm_init(void)
>> +static void __init gic_cpu_pm_init(void)
>> {
>> cpu_pm_register_notifier(&gic_cpu_pm_notifier_block);
>> }
>>
>
> Interesting. I don't see this warning at all. How do you trigger this?

I noticed that it suddenly disappeared again too. I used some crazy
configurations while doing tests with LLVM/Clang, I think it was with
allyesconfig.

--
Stefan

>
> Thanks,
>
> M.