Skip to contentSkip to conversation

x86/moorestown: change to __devinit in order to suppress warning

PATCH In review Sebastian Andrzej Siewior 1 participant 2 messages May 31, 2012 – Jun 6, 2012 x86

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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?

---
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(-)
arch/x86/platform/mrst/mrst.c +1 -1
index e31bcd8..fd41a92 100644
@@ -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;
 
#1 lore raw

[tip:x86/urgent] x86/intel/moorestown: Change intel_scu_devices_create() to __devinit

Commit-ID:  7071f6b2889bb41bea61891d8a3e6e70517ef5e6
Gitweb:     http://git.kernel.org/tip/7071f6b2889bb41bea61891d8a3e6e70517ef5e6
Author:     Sebastian Andrzej Siewior <[email protected]>
AuthorDate: Thu, 31 May 2012 23:20:25 +0200
Committer:  Ingo Molnar <[email protected]>
CommitDate: Wed, 6 Jun 2012 11:58:40 +0200

x86/intel/moorestown: Change intel_scu_devices_create() to __devinit

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() [...]

This patch marks intel_scu_devices_create() as devinit because it only calls a devinit function, spi_register_board_info().

---
 arch/x86/platform/mrst/mrst.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/x86/platform/mrst/mrst.c +1 -1
index e31bcd8..fd41a92 100644
@@ -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;