lkml.org 
[lkml]   [2012]   [May]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
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;


\
 
 \ /
  Last update: 2012-06-01 00:21    [W:1.007 / U:24.572 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site