lkml.org 
[lkml]   [2011]   [Jan]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: section mismatch in intel_idle
From
Date
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@s5r6.in-berlin.de>
Signed-off-by: Shaohua Li <shaohua.li@intel.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,
};




\
 
 \ /
  Last update: 2011-01-20 06:13    [W:0.031 / U:1.224 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site