[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1295500174.1949.911.camel@sli10-conroe>
Date: Thu, 20 Jan 2011 13:09:34 +0800
From: Shaohua Li <shaohua.li@...el.com>
To: Stefan Richter <stefanr@...6.in-berlin.de>
Cc: "Brown, Len" <len.brown@...el.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: section mismatch in intel_idle
On Thu, 2011-01-20 at 07:53 +0800, Stefan Richter wrote:
> Hi,
>
> this just showed up in 2.6.38-rc1:
>
> WARNING: drivers/idle/built-in.o(.text+0x112): Section mismatch in reference from the function intel_idle_probe() to the variable .cpuinit.data:setup_broadcast_notifier
> The function intel_idle_probe() references
> the variable __cpuinitdata setup_broadcast_notifier.
> This is often because intel_idle_probe lacks a __cpuinitdata
> annotation or the annotation of setup_broadcast_notifier is wrong.
>
> WARNING: drivers/idle/built-in.o(.exit.text+0x2d): Section mismatch in reference from the function intel_idle_exit() to the variable .cpuinit.data:setup_broadcast_notifier
> The function __exit intel_idle_exit() references
> a variable __cpuinitdata setup_broadcast_notifier.
> This is often seen when error handling in the exit function
> uses functionality in the init path.
> The fix is often to remove the __cpuinitdata annotation of
> setup_broadcast_notifier so it may be used outside an init section.
Len, please add this to your tree.
Fix annotation warning.
Reported-by: Stefan Richter <stefanr@...6.in-berlin.de>
Signed-off-by: Shaohua Li <shaohua.li@...el.com>
diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c
index 7acb32e..6a0ff5d 100644
--- a/drivers/idle/intel_idle.c
+++ b/drivers/idle/intel_idle.c
@@ -263,7 +263,7 @@ static void __setup_broadcast_timer(void *arg)
clockevents_notify(reason, &cpu);
}
-static int __cpuinit setup_broadcast_cpuhp_notify(struct notifier_block *n,
+static int setup_broadcast_cpuhp_notify(struct notifier_block *n,
unsigned long action, void *hcpu)
{
int hotcpu = (unsigned long)hcpu;
@@ -281,7 +281,7 @@ static int __cpuinit setup_broadcast_cpuhp_notify(struct notifier_block *n,
return NOTIFY_OK;
}
-static struct notifier_block __cpuinitdata setup_broadcast_notifier = {
+static struct notifier_block setup_broadcast_notifier = {
.notifier_call = setup_broadcast_cpuhp_notify,
};
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists