regulator: max8649: Use devm_* APIs
PATCH 1/3 regulator: max8649: Use devm_* APIs
Signed-off-by Axel Lin <[email protected]>
--- drivers/regulator/max8649.c | 19 ++++++------------- 1 files changed, 6 insertions(+), 13 deletions(-)
drivers/regulator/max8649.c +6 -13
@@ -229,17 +229,18 @@ static int __devinit max8649_regulator_probe(struct i2c_client *client,unsigned char data;int ret; - info =kzalloc (sizeof (struct max8649_regulator_info ),GFP_KERNEL ); + info =devm_kzalloc (&client->dev,sizeof (struct max8649_regulator_info ), +GFP_KERNEL );if (!info) {dev_err (&client->dev,"No enough memory\n" );return -ENOMEM ; } - info->regmap =regmap_init_i2c (client, &max8649_regmap_config); + info->regmap =devm_regmap_init_i2c (client, &max8649_regmap_config);if (IS_ERR (info->regmap)) { ret =PTR_ERR (info->regmap);dev_err (&client->dev,"Failed to allocate register map: %d\n" , ret); - goto fail; +return ret; } info->dev = &client->dev;
@@ -267,7 +268,7 @@ static int __devinit max8649_regulator_probe(struct i2c_client *client,if (ret !=0 ) {dev_err (info->dev,"Failed to detect ID of MAX8649:%d\n" , ret); - goto out; +return ret; }dev_info (info->dev,"Detected MAX8649 (ID:%x)\n" , val);
@@ -302,16 +303,10 @@ static int __devinit max8649_regulator_probe(struct i2c_client *client,if (IS_ERR (info->regulator)) {dev_err (info->dev,"failed to register regulator %s\n" , dcdc_desc.name); - ret =PTR_ERR (info->regulator); - goto out; +return PTR_ERR (info->regulator); }return 0 ; -out: -regmap_exit (info->regmap); -fail: -kfree (info); -return ret; } static int __devexit max8649_regulator_remove(struct i2c_client *client)
@@ -321,8 +316,6 @@ static int __devexit max8649_regulator_remove(struct i2c_client *client)if (info) {if (info->regulator)regulator_unregister (info->regulator); -regmap_exit (info->regmap); -kfree (info); }return 0 ;
Signature · 1 line
1.7.5.4
PATCH 2/3 regulator: tps62360: Convert to devm_regmap_init_i2c()
Signed-off-by Axel Lin <[email protected]>
--- drivers/regulator/tps62360-regulator.c | 4 +--- 1 files changed, 1 insertions(+), 3 deletions(-)
drivers/regulator/tps62360-regulator.c +1 -3
@@ -319,7 +319,7 @@ static int __devinit tps62360_probe(struct i2c_client *client, tps->desc.ops = &tps62360_dcdc_ops; tps->desc.type =REGULATOR_VOLTAGE ; tps->desc.owner =THIS_MODULE ; - tps->regmap =regmap_init_i2c (client, &tps62360_regmap_config); + tps->regmap =devm_regmap_init_i2c (client, &tps62360_regmap_config);if (IS_ERR (tps->regmap)) { ret =PTR_ERR (tps->regmap); dev_err(&client->dev, "%s() Err: Failed to allocate register"
@@ -404,7 +404,6 @@ err_gpio1:if (gpio_is_valid (tps->vsel0_gpio))gpio_free (tps->vsel0_gpio); err_gpio0: -regmap_exit (tps->regmap);return ret; }
@@ -425,7 +424,6 @@ static int __devexit tps62360_remove(struct i2c_client *client)gpio_free (tps->vsel0_gpio);regulator_unregister (tps->rdev); -regmap_exit (tps->regmap);return 0 ; }
Signature · 1 line
1.7.5.4
PATCH 3/3 regulator: tps65023: Use devm_* APIs
In reply to Axel LinSigned-off-by Axel Lin <[email protected]>
--- drivers/regulator/tps65023-regulator.c | 14 +++----------- 1 files changed, 3 insertions(+), 11 deletions(-)
drivers/regulator/tps65023-regulator.c +3 -11
@@ -393,16 +393,16 @@ static int __devinit tps_65023_probe(struct i2c_client *client,if (!init_data)return -EIO ; - tps =kzalloc (sizeof (*tps),GFP_KERNEL ); + tps =devm_kzalloc (&client->dev,sizeof (*tps),GFP_KERNEL );if (!tps)return -ENOMEM ; - tps->regmap =regmap_init_i2c (client, &tps65023_regmap_config); + tps->regmap =devm_regmap_init_i2c (client, &tps65023_regmap_config);if (IS_ERR (tps->regmap)) { error =PTR_ERR (tps->regmap);dev_err (&client->dev,"Failed to allocate register map: %d\n" , error); - goto fail_alloc; +return error; }/* common for all regulators */
@@ -445,10 +445,6 @@ static int __devinit tps_65023_probe(struct i2c_client *client, fail:while (--i >=0 )regulator_unregister (tps->rdev[i]); - -regmap_exit (tps->regmap); - fail_alloc: -kfree (tps);return error; }
@@ -459,10 +455,6 @@ static int __devexit tps_65023_remove(struct i2c_client *client)for (i =0 ; i <TPS65023_NUM_REGULATOR ; i++)regulator_unregister (tps->rdev[i]); - -regmap_exit (tps->regmap); -kfree (tps); -return 0 ; }
Signature · 1 line
1.7.5.4
Mark Brown
AppliedQuoted 1 line · Axel Lin
Signed-off-by Axel Lin <[email protected]>
Applied all, thanks.