diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2008-03-04 18:09:05 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-04-19 22:10:23 -0400 |
commit | 6c847402e1c69c1cfe2bddeadc8391bacbb3d0a5 (patch) | |
tree | f807ab8139202761e9968f430d97813c787c680a /drivers/base/cpu.c | |
parent | 35d313b8744dc64c31b9cfcdb083112937643b45 (diff) |
driver core: cpu: fix section mismatch in cpu.c:store_online
Fix following warning:
WARNING: vmlinux.o(.text+0x64609c): Section mismatch in reference from the function store_online() to the function .cpuinit.text:cpu_up()
store_online() is defined inside a HOTPLUG_CPU block so references are OK.
Ignore references by annotating store_online() with __ref.
Note: This is needed because cpu_up() most likely should not have been
__cpuinit but all the hotplug cpu code misuses the __cpuinit annotation.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/base/cpu.c')
-rw-r--r-- | drivers/base/cpu.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c index 499b003f9278..3e417a97681d 100644 --- a/drivers/base/cpu.c +++ b/drivers/base/cpu.c | |||
@@ -28,7 +28,7 @@ static ssize_t show_online(struct sys_device *dev, char *buf) | |||
28 | return sprintf(buf, "%u\n", !!cpu_online(cpu->sysdev.id)); | 28 | return sprintf(buf, "%u\n", !!cpu_online(cpu->sysdev.id)); |
29 | } | 29 | } |
30 | 30 | ||
31 | static ssize_t store_online(struct sys_device *dev, const char *buf, | 31 | static ssize_t __ref store_online(struct sys_device *dev, const char *buf, |
32 | size_t count) | 32 | size_t count) |
33 | { | 33 | { |
34 | struct cpu *cpu = container_of(dev, struct cpu, sysdev); | 34 | struct cpu *cpu = container_of(dev, struct cpu, sysdev); |
@@ -55,7 +55,7 @@ static ssize_t store_online(struct sys_device *dev, const char *buf, | |||
55 | } | 55 | } |
56 | static SYSDEV_ATTR(online, 0644, show_online, store_online); | 56 | static SYSDEV_ATTR(online, 0644, show_online, store_online); |
57 | 57 | ||
58 | static void __devinit register_cpu_control(struct cpu *cpu) | 58 | static void __cpuinit register_cpu_control(struct cpu *cpu) |
59 | { | 59 | { |
60 | sysdev_create_file(&cpu->sysdev, &attr_online); | 60 | sysdev_create_file(&cpu->sysdev, &attr_online); |
61 | } | 61 | } |