[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    [W:0.022 / U:47.468 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site