diff --git a/[refs] b/[refs] index 91d794a57a84..c3f1d4a950f9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 13e0aa469e11f31a83f32f614c1331630851af28 +refs/heads/master: 2f3b43423c70a340b715396f15096c496da959bb diff --git a/trunk/drivers/power/max17042_battery.c b/trunk/drivers/power/max17042_battery.c index bd88debf9d52..872e9b4a5ade 100644 --- a/trunk/drivers/power/max17042_battery.c +++ b/trunk/drivers/power/max17042_battery.c @@ -619,7 +619,7 @@ static int __devinit max17042_probe(struct i2c_client *client, if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WORD_DATA)) return -EIO; - chip = kzalloc(sizeof(*chip), GFP_KERNEL); + chip = devm_kzalloc(&client->dev, sizeof(*chip), GFP_KERNEL); if (!chip) return -ENOMEM; @@ -676,10 +676,8 @@ static int __devinit max17042_probe(struct i2c_client *client, } ret = power_supply_register(&client->dev, &chip->battery); - if (ret) { + if (ret) dev_err(&client->dev, "failed: power supply register\n"); - kfree(chip); - } return ret; } @@ -688,7 +686,6 @@ static int __devexit max17042_remove(struct i2c_client *client) struct max17042_chip *chip = i2c_get_clientdata(client); power_supply_unregister(&chip->battery); - kfree(chip); return 0; }