Skip to content

Commit

Permalink
regulator: pbias: Convert to use regulator_[enable|is_enabled]_regmap
Browse files Browse the repository at this point in the history
Since commit ca5d1b3
"regulator: helpers: Modify helpers enabling multi-bit control",
we can set enable_val setting for device that use multiple bits for control
when using regmap enable/disable/bypass ops.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Tested-by: Balaji T K <balajitk@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
  • Loading branch information
Axel Lin authored and Mark Brown committed Apr 15, 2014
1 parent 60e8c1e commit 75dbf0a
Showing 1 changed file with 3 additions and 22 deletions.
25 changes: 3 additions & 22 deletions drivers/regulator/pbias-regulator.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,33 +49,13 @@ static const unsigned int pbias_volt_table[] = {
3000000
};

static int pbias_regulator_enable(struct regulator_dev *rdev)
{
struct pbias_regulator_data *data = rdev_get_drvdata(rdev);
const struct pbias_reg_info *info = data->info;

return regmap_update_bits(data->syscon, rdev->desc->enable_reg,
info->enable_mask, info->enable);
}

static int pbias_regulator_is_enable(struct regulator_dev *rdev)
{
struct pbias_regulator_data *data = rdev_get_drvdata(rdev);
const struct pbias_reg_info *info = data->info;
int value;

regmap_read(data->syscon, rdev->desc->enable_reg, &value);

return (value & info->enable_mask) == info->enable;
}

static struct regulator_ops pbias_regulator_voltage_ops = {
.list_voltage = regulator_list_voltage_table,
.get_voltage_sel = regulator_get_voltage_sel_regmap,
.set_voltage_sel = regulator_set_voltage_sel_regmap,
.enable = pbias_regulator_enable,
.enable = regulator_enable_regmap,
.disable = regulator_disable_regmap,
.is_enabled = pbias_regulator_is_enable,
.is_enabled = regulator_is_enabled_regmap,
};

static const struct pbias_reg_info pbias_mmc_omap2430 = {
Expand Down Expand Up @@ -180,6 +160,7 @@ static int pbias_regulator_probe(struct platform_device *pdev)
drvdata[data_idx].desc.vsel_mask = info->vmode;
drvdata[data_idx].desc.enable_reg = res->start;
drvdata[data_idx].desc.enable_mask = info->enable_mask;
drvdata[data_idx].desc.enable_val = info->enable;

cfg.init_data = pbias_matches[idx].init_data;
cfg.driver_data = &drvdata[data_idx];
Expand Down

0 comments on commit 75dbf0a

Please sign in to comment.