diff options
author | Axel Lin <axel.lin@ingics.com> | 2019-03-27 19:54:13 +0800 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2019-04-01 15:17:11 +0700 |
commit | c07608f737bd5ecf336b68427d4c9671283bf7b9 (patch) | |
tree | 76d76d7a32c9b6db4f1b2ab8a39916dccfcf0fcf /drivers/regulator/rc5t583-regulator.c | |
parent | 7cae255d2757eb085736be082df3ef4140846bc9 (diff) | |
download | linux-c07608f737bd5ecf336b68427d4c9671283bf7b9.tar.bz2 |
regulator: rc5t583: Get rid of struct rc5t583_regulator
The struct rc5t583_regulator only has 2 members, the *rdev is no longer
used because this driver is using devm_regulator_register now. After remove
*rdev, only *reg_info left. We can use struct rc5t583_regulator_info
directly, so remove struct rc5t583_regulator.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/regulator/rc5t583-regulator.c')
-rw-r--r-- | drivers/regulator/rc5t583-regulator.c | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/drivers/regulator/rc5t583-regulator.c b/drivers/regulator/rc5t583-regulator.c index 2ec51af43673..9446653e7a89 100644 --- a/drivers/regulator/rc5t583-regulator.c +++ b/drivers/regulator/rc5t583-regulator.c @@ -47,18 +47,13 @@ struct rc5t583_regulator_info { struct regulator_desc desc; }; -struct rc5t583_regulator { - struct rc5t583_regulator_info *reg_info; - struct regulator_dev *rdev; -}; - static int rc5t583_regulator_enable_time(struct regulator_dev *rdev) { - struct rc5t583_regulator *reg = rdev_get_drvdata(rdev); + struct rc5t583_regulator_info *reg_info = rdev_get_drvdata(rdev); int vsel = regulator_get_voltage_sel_regmap(rdev); int curr_uV = regulator_list_voltage_linear(rdev, vsel); - return DIV_ROUND_UP(curr_uV, reg->reg_info->enable_uv_per_us); + return DIV_ROUND_UP(curr_uV, reg_info->enable_uv_per_us); } static const struct regulator_ops rc5t583_ops = { @@ -120,8 +115,6 @@ static int rc5t583_regulator_probe(struct platform_device *pdev) struct rc5t583 *rc5t583 = dev_get_drvdata(pdev->dev.parent); struct rc5t583_platform_data *pdata = dev_get_platdata(rc5t583->dev); struct regulator_config config = { }; - struct rc5t583_regulator *reg = NULL; - struct rc5t583_regulator *regs; struct regulator_dev *rdev; struct rc5t583_regulator_info *ri; int ret; @@ -132,18 +125,8 @@ static int rc5t583_regulator_probe(struct platform_device *pdev) return -ENODEV; } - regs = devm_kcalloc(&pdev->dev, - RC5T583_REGULATOR_MAX, - sizeof(struct rc5t583_regulator), - GFP_KERNEL); - if (!regs) - return -ENOMEM; - - for (id = 0; id < RC5T583_REGULATOR_MAX; ++id) { - reg = ®s[id]; ri = &rc5t583_reg_info[id]; - reg->reg_info = ri; if (ri->deepsleep_id == RC5T583_DS_NONE) goto skip_ext_pwr_config; @@ -163,7 +146,7 @@ static int rc5t583_regulator_probe(struct platform_device *pdev) skip_ext_pwr_config: config.dev = &pdev->dev; config.init_data = pdata->reg_init_data[id]; - config.driver_data = reg; + config.driver_data = ri; config.regmap = rc5t583->regmap; rdev = devm_regulator_register(&pdev->dev, &ri->desc, &config); @@ -172,9 +155,7 @@ skip_ext_pwr_config: ri->desc.name); return PTR_ERR(rdev); } - reg->rdev = rdev; } - platform_set_drvdata(pdev, regs); return 0; } |