diff options
author | Jingoo Han <jg1.han@samsung.com> | 2013-08-20 16:03:20 +0900 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2013-08-20 08:51:13 +0100 |
commit | 6922ffcfad1a5ff8cd0e44bbcee3686dd6caf13c (patch) | |
tree | 0ef1e816c4a16cef3f10dd2cb0e485064924c7bd /drivers/mfd | |
parent | b2cdcfacfe4bafaaeeba54db5940eef6452d1161 (diff) | |
download | linux-6922ffcfad1a5ff8cd0e44bbcee3686dd6caf13c.tar.gz linux-6922ffcfad1a5ff8cd0e44bbcee3686dd6caf13c.tar.xz |
mfd: max8997: Use devm_*() functions
Use devm_*() functions to make cleanup paths simpler.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'drivers/mfd')
-rw-r--r-- | drivers/mfd/max8997.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/drivers/mfd/max8997.c b/drivers/mfd/max8997.c index 15230476dc73..cee098c0dae3 100644 --- a/drivers/mfd/max8997.c +++ b/drivers/mfd/max8997.c @@ -191,7 +191,8 @@ static int max8997_i2c_probe(struct i2c_client *i2c, struct max8997_platform_data *pdata = dev_get_platdata(&i2c->dev); int ret = 0; - max8997 = kzalloc(sizeof(struct max8997_dev), GFP_KERNEL); + max8997 = devm_kzalloc(&i2c->dev, sizeof(struct max8997_dev), + GFP_KERNEL); if (max8997 == NULL) return -ENOMEM; @@ -203,14 +204,12 @@ static int max8997_i2c_probe(struct i2c_client *i2c, if (max8997->dev->of_node) { pdata = max8997_i2c_parse_dt_pdata(max8997->dev); - if (IS_ERR(pdata)) { - ret = PTR_ERR(pdata); - goto err; - } + if (IS_ERR(pdata)) + return PTR_ERR(pdata); } if (!pdata) - goto err; + return ret; max8997->pdata = pdata; max8997->ono = pdata->ono; @@ -250,8 +249,6 @@ err_mfd: i2c_unregister_device(max8997->muic); i2c_unregister_device(max8997->haptic); i2c_unregister_device(max8997->rtc); -err: - kfree(max8997); return ret; } @@ -263,7 +260,6 @@ static int max8997_i2c_remove(struct i2c_client *i2c) i2c_unregister_device(max8997->muic); i2c_unregister_device(max8997->haptic); i2c_unregister_device(max8997->rtc); - kfree(max8997); return 0; } |