linux-stable-rt/drivers
Sam Ravnborg bb1a813d3c [PATCH] cpufreq: fix section mismatch warnings
cpufreq are the only remaining bit to be solved for me to have a modpost
clean build for sparc64 - so I took one more look at it.
changelog entry:

Fix section mismatch warnings in cpufreq:
WARNING: drivers/cpufreq/cpufreq_stats.o - Section mismatch: reference to .init.text: from .data between 'cpufreq_stat_cpu_notifier' (at offset 0xa8) and 'notifier_policy_block'
WARNING: drivers/cpufreq/cpufreq_stats.o - Section mismatch: reference to .init.text: from .exit.text after 'cleanup_module' (at offset 0x30)

The culprint is the function: cpufreq_stat_cpu_callback
It is marked __cpuinit which get's redefined to __init in case
HOTPLUG_CPU is not enabled as per. init.h:

#ifdef CONFIG_HOTPLUG_CPU
#define __cpuinit
#else
#define __cpuinit       __init
#endif

$> grep HOTPLUG .config
CONFIG_HOTPLUG=y

But cpufreq_stat_cpu_callback() is used in:
__exit cpufreq_stats_exit()
static struct notifier_block cpufreq_stat_cpu_notifier

cpufreq_stat_cpu_notifier is again used in:
__init cpufreq_stats_init()
__exit cpufreq_stats_exit()

So in both cases used from both __init and __exit context.
Only solution seems to drop __cpuinit tag.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Dave Jones <davej@redhat.com>
2006-03-11 13:35:43 -05:00
..
acorn
acpi
amba
atm
base
block
bluetooth
cdrom
char
connector
cpufreq
crypto
dio
edac
eisa
fc4
firmware
hwmon
i2c
ide
ieee1394
infiniband
input
isdn
macintosh
mca
md
media
message
mfd
misc
mmc
mtd
net
nubus
oprofile
parisc
parport
pci
pcmcia
pnp
rapidio
s390
sbus
scsi
serial
sh
sn
spi
tc
telephony
usb
video
w1
zorro
Kconfig
Makefile