[PATCH] mfd: Fix section mismatch warning in wm8994

From: Axel Lin
Date: Wed Feb 22 2012 - 02:58:11 EST


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 <axel.lin@xxxxxxxxx>
---
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,
};

--
1.7.5.4



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/