[lkml]   [2012]   [Feb]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[PATCH] mfd: Fix section mismatch warning in wm8994
Since commit 423682 "mfd: Add __devinit and __devexit annotations in wm8994",
we need to add __devinit/__devexit for wm8994_i2c_probe/wm8994_i2c_remove.
This fixes below build warnings:

WARNING: vmlinux.o(.text+0x169e44): Section mismatch in reference from the function wm8994_i2c_remove() to the function .devexit.text:wm8994_device_exit()
The function wm8994_i2c_remove() references a function in an exit section.
Often the function wm8994_device_exit() has valid usage outside the exit section
and the fix is to remove the __devexit annotation of wm8994_device_exit.

WARNING: vmlinux.o(.text+0x16a1bc): Section mismatch in reference from the function wm8994_i2c_probe() to the function .devinit.text:wm8994_device_init()
The function wm8994_i2c_probe() references
the function __devinit wm8994_device_init().
This is often because wm8994_i2c_probe lacks a __devinit
annotation or the annotation of wm8994_device_init is wrong.

Signed-off-by: Axel Lin <>
drivers/mfd/wm8994-core.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c
index b2de65b..0042c7c 100644
--- a/drivers/mfd/wm8994-core.c
+++ b/drivers/mfd/wm8994-core.c
@@ -670,7 +670,7 @@ static const struct of_device_id wm8994_of_match[] = {
MODULE_DEVICE_TABLE(of, wm8994_of_match);

-static int wm8994_i2c_probe(struct i2c_client *i2c,
+static __devinit int wm8994_i2c_probe(struct i2c_client *i2c,
const struct i2c_device_id *id)
struct wm8994 *wm8994;
@@ -696,7 +696,7 @@ static int wm8994_i2c_probe(struct i2c_client *i2c,
return wm8994_device_init(wm8994, i2c->irq);

-static int wm8994_i2c_remove(struct i2c_client *i2c)
+static __devexit int wm8994_i2c_remove(struct i2c_client *i2c)
struct wm8994 *wm8994 = i2c_get_clientdata(i2c);

@@ -725,7 +725,7 @@ static struct i2c_driver wm8994_i2c_driver = {
.of_match_table = wm8994_of_match,
.probe = wm8994_i2c_probe,
- .remove = wm8994_i2c_remove,
+ .remove = __devexit_p(wm8994_i2c_remove),
.id_table = wm8994_i2c_id,


 \ /
  Last update: 2012-02-22 09:01    [from the cache]
©2003-2014 Jasper Spaans. hosted at Digital Ocean