Messages in this thread Patch in this message | | | Date | Thu, 31 May 2012 23:20:25 +0200 | From | Sebastian Andrzej Siewior <> | Subject | [PATCH] x86/moorestown: change to __devinit in order to suppress warning |
| |
The allmodconfig hits:
|WARNING: vmlinux.o(.text+0x6553d): Section mismatch in reference from the function intel_scu_devices_create() to the function .devinit.text: spi_register_board_info() |The function intel_scu_devices_create() references |the function __devinit spi_register_board_info(). |This is often because intel_scu_devices_create lacks a __devinit |annotation or the annotation of spi_register_board_info is wrong. | |WARNING: vmlinux.o(.text+0x655f1): Section mismatch in reference from the function intel_scu_devices_create() to the function .init.text:i2c _register_board_info() |The function intel_scu_devices_create() references |the function __init i2c_register_board_info(). |This is often because intel_scu_devices_create lacks a __init |annotation or the annotation of i2c_register_board_info is wrong.
This patch marks intel_scu_devices_create() as devinit because it calls a devinit function, spi_register_board_info(). The second problem with i2c_register_board_info() does not go away and should crash once build as a module because i2c_register_board_info() is long gone. Therefore this function should not be used from a module. Going through all the code here makes me ask, why don't use DT here for all that I2C and friends?
Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> --- And I looked like this while going over the code: http://download.breakpoint.cc/meme/moorestown_no_dt.png
arch/x86/platform/mrst/mrst.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/platform/mrst/mrst.c b/arch/x86/platform/mrst/mrst.c index e31bcd8..fd41a92 100644 --- a/arch/x86/platform/mrst/mrst.c +++ b/arch/x86/platform/mrst/mrst.c @@ -782,7 +782,7 @@ BLOCKING_NOTIFIER_HEAD(intel_scu_notifier); EXPORT_SYMBOL_GPL(intel_scu_notifier); /* Called by IPC driver */ -void intel_scu_devices_create(void) +void __devinit intel_scu_devices_create(void) { int i;
| |