lkml.org 
[lkml]   [2012]   [May]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] max17042_battery: Fix power supply and irq registration ordering
    Date
    IRQ registration should happen only after power supply object usable.
    This patch fixes the ordering of power supply and irq registration
    calls.

    Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
    ---
    drivers/power/max17042_battery.c | 12 +++++++-----
    1 files changed, 7 insertions(+), 5 deletions(-)

    diff --git a/drivers/power/max17042_battery.c b/drivers/power/max17042_battery.c
    index 915767d..3c16724 100644
    --- a/drivers/power/max17042_battery.c
    +++ b/drivers/power/max17042_battery.c
    @@ -691,6 +691,12 @@ static int __devinit max17042_probe(struct i2c_client *client,
    max17042_write_reg(client, MAX17042_LearnCFG, 0x0007);
    }

    + ret = power_supply_register(&client->dev, &chip->battery);
    + if (ret) {
    + dev_err(&client->dev, "failed: power supply register\n");
    + return ret;
    + }
    +
    if (client->irq) {
    ret = request_threaded_irq(client->irq, NULL,
    max17042_thread_handler,
    @@ -707,7 +713,6 @@ static int __devinit max17042_probe(struct i2c_client *client,
    }

    reg = max17042_read_reg(chip->client, MAX17042_STATUS);
    -
    if (reg & STATUS_POR_BIT) {
    INIT_WORK(&chip->work, max17042_init_worker);
    schedule_work(&chip->work);
    @@ -715,10 +720,7 @@ static int __devinit max17042_probe(struct i2c_client *client,
    chip->init_complete = 1;
    }

    - ret = power_supply_register(&client->dev, &chip->battery);
    - if (ret)
    - dev_err(&client->dev, "failed: power supply register\n");
    - return ret;
    + return 0;
    }

    static int __devexit max17042_remove(struct i2c_client *client)
    --
    1.7.0.4


    \
     
     \ /
      Last update: 2012-05-05 08:21    [W:0.022 / U:36.184 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site