Commit 56eff619 authored by Mark Brown's avatar Mark Brown

Merge remote-tracking branches 'regulator/topic/anatop',...

Merge remote-tracking branches 'regulator/topic/anatop', 'regulator/topic/arizona', 'regulator/topic/as3711' and 'regulator/topic/bcm590xx' into regulator-next
...@@ -14,6 +14,7 @@ Optional properties: ...@@ -14,6 +14,7 @@ Optional properties:
- anatop-delay-bit-shift: Bit shift for the step time register - anatop-delay-bit-shift: Bit shift for the step time register
- anatop-delay-bit-width: Number of bits used in the step time register - anatop-delay-bit-width: Number of bits used in the step time register
- vin-supply: The supply for this regulator - vin-supply: The supply for this regulator
- anatop-enable-bit: Regulator enable bit offset
Any property defined as part of the core regulator Any property defined as part of the core regulator
binding, defined in regulator.txt, can also be used. binding, defined in regulator.txt, can also be used.
......
...@@ -301,7 +301,19 @@ static int anatop_regulator_probe(struct platform_device *pdev) ...@@ -301,7 +301,19 @@ static int anatop_regulator_probe(struct platform_device *pdev)
return -EINVAL; return -EINVAL;
} }
} else { } else {
u32 enable_bit;
rdesc->ops = &anatop_rops; rdesc->ops = &anatop_rops;
if (!of_property_read_u32(np, "anatop-enable-bit",
&enable_bit)) {
anatop_rops.enable = regulator_enable_regmap;
anatop_rops.disable = regulator_disable_regmap;
anatop_rops.is_enabled = regulator_is_enabled_regmap;
rdesc->enable_reg = sreg->control_reg;
rdesc->enable_mask = BIT(enable_bit);
}
} }
/* register regulator */ /* register regulator */
......
...@@ -109,7 +109,7 @@ static int arizona_ldo1_hc_get_voltage_sel(struct regulator_dev *rdev) ...@@ -109,7 +109,7 @@ static int arizona_ldo1_hc_get_voltage_sel(struct regulator_dev *rdev)
return (val & ARIZONA_LDO1_VSEL_MASK) >> ARIZONA_LDO1_VSEL_SHIFT; return (val & ARIZONA_LDO1_VSEL_MASK) >> ARIZONA_LDO1_VSEL_SHIFT;
} }
static struct regulator_ops arizona_ldo1_hc_ops = { static const struct regulator_ops arizona_ldo1_hc_ops = {
.list_voltage = arizona_ldo1_hc_list_voltage, .list_voltage = arizona_ldo1_hc_list_voltage,
.map_voltage = arizona_ldo1_hc_map_voltage, .map_voltage = arizona_ldo1_hc_map_voltage,
.get_voltage_sel = arizona_ldo1_hc_get_voltage_sel, .get_voltage_sel = arizona_ldo1_hc_get_voltage_sel,
...@@ -135,7 +135,7 @@ static const struct regulator_desc arizona_ldo1_hc = { ...@@ -135,7 +135,7 @@ static const struct regulator_desc arizona_ldo1_hc = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
}; };
static struct regulator_ops arizona_ldo1_ops = { static const struct regulator_ops arizona_ldo1_ops = {
.list_voltage = regulator_list_voltage_linear, .list_voltage = regulator_list_voltage_linear,
.map_voltage = regulator_map_voltage_linear, .map_voltage = regulator_map_voltage_linear,
.get_voltage_sel = regulator_get_voltage_sel_regmap, .get_voltage_sel = regulator_get_voltage_sel_regmap,
......
...@@ -45,6 +45,7 @@ static void arizona_micsupp_check_cp(struct work_struct *work) ...@@ -45,6 +45,7 @@ static void arizona_micsupp_check_cp(struct work_struct *work)
struct arizona_micsupp *micsupp = struct arizona_micsupp *micsupp =
container_of(work, struct arizona_micsupp, check_cp_work); container_of(work, struct arizona_micsupp, check_cp_work);
struct snd_soc_dapm_context *dapm = micsupp->arizona->dapm; struct snd_soc_dapm_context *dapm = micsupp->arizona->dapm;
struct snd_soc_component *component = snd_soc_dapm_to_component(dapm);
struct arizona *arizona = micsupp->arizona; struct arizona *arizona = micsupp->arizona;
struct regmap *regmap = arizona->regmap; struct regmap *regmap = arizona->regmap;
unsigned int reg; unsigned int reg;
...@@ -59,9 +60,10 @@ static void arizona_micsupp_check_cp(struct work_struct *work) ...@@ -59,9 +60,10 @@ static void arizona_micsupp_check_cp(struct work_struct *work)
if (dapm) { if (dapm) {
if ((reg & (ARIZONA_CPMIC_ENA | ARIZONA_CPMIC_BYPASS)) == if ((reg & (ARIZONA_CPMIC_ENA | ARIZONA_CPMIC_BYPASS)) ==
ARIZONA_CPMIC_ENA) ARIZONA_CPMIC_ENA)
snd_soc_dapm_force_enable_pin(dapm, "MICSUPP"); snd_soc_component_force_enable_pin(component,
"MICSUPP");
else else
snd_soc_dapm_disable_pin(dapm, "MICSUPP"); snd_soc_component_disable_pin(component, "MICSUPP");
snd_soc_dapm_sync(dapm); snd_soc_dapm_sync(dapm);
} }
...@@ -104,7 +106,7 @@ static int arizona_micsupp_set_bypass(struct regulator_dev *rdev, bool ena) ...@@ -104,7 +106,7 @@ static int arizona_micsupp_set_bypass(struct regulator_dev *rdev, bool ena)
return ret; return ret;
} }
static struct regulator_ops arizona_micsupp_ops = { static const struct regulator_ops arizona_micsupp_ops = {
.enable = arizona_micsupp_enable, .enable = arizona_micsupp_enable,
.disable = arizona_micsupp_disable, .disable = arizona_micsupp_disable,
.is_enabled = regulator_is_enabled_regmap, .is_enabled = regulator_is_enabled_regmap,
......
...@@ -82,7 +82,7 @@ static unsigned int as3711_get_mode_sd(struct regulator_dev *rdev) ...@@ -82,7 +82,7 @@ static unsigned int as3711_get_mode_sd(struct regulator_dev *rdev)
return -EINVAL; return -EINVAL;
} }
static struct regulator_ops as3711_sd_ops = { static const struct regulator_ops as3711_sd_ops = {
.is_enabled = regulator_is_enabled_regmap, .is_enabled = regulator_is_enabled_regmap,
.enable = regulator_enable_regmap, .enable = regulator_enable_regmap,
.disable = regulator_disable_regmap, .disable = regulator_disable_regmap,
...@@ -94,7 +94,7 @@ static struct regulator_ops as3711_sd_ops = { ...@@ -94,7 +94,7 @@ static struct regulator_ops as3711_sd_ops = {
.set_mode = as3711_set_mode_sd, .set_mode = as3711_set_mode_sd,
}; };
static struct regulator_ops as3711_aldo_ops = { static const struct regulator_ops as3711_aldo_ops = {
.is_enabled = regulator_is_enabled_regmap, .is_enabled = regulator_is_enabled_regmap,
.enable = regulator_enable_regmap, .enable = regulator_enable_regmap,
.disable = regulator_disable_regmap, .disable = regulator_disable_regmap,
...@@ -104,7 +104,7 @@ static struct regulator_ops as3711_aldo_ops = { ...@@ -104,7 +104,7 @@ static struct regulator_ops as3711_aldo_ops = {
.map_voltage = regulator_map_voltage_linear_range, .map_voltage = regulator_map_voltage_linear_range,
}; };
static struct regulator_ops as3711_dldo_ops = { static const struct regulator_ops as3711_dldo_ops = {
.is_enabled = regulator_is_enabled_regmap, .is_enabled = regulator_is_enabled_regmap,
.enable = regulator_enable_regmap, .enable = regulator_enable_regmap,
.disable = regulator_disable_regmap, .disable = regulator_disable_regmap,
......
...@@ -128,11 +128,11 @@ ...@@ -128,11 +128,11 @@
.ops = &axp20x_ops_range, \ .ops = &axp20x_ops_range, \
} }
static struct regulator_ops axp20x_ops_fixed = { static const struct regulator_ops axp20x_ops_fixed = {
.list_voltage = regulator_list_voltage_linear, .list_voltage = regulator_list_voltage_linear,
}; };
static struct regulator_ops axp20x_ops_range = { static const struct regulator_ops axp20x_ops_range = {
.set_voltage_sel = regulator_set_voltage_sel_regmap, .set_voltage_sel = regulator_set_voltage_sel_regmap,
.get_voltage_sel = regulator_get_voltage_sel_regmap, .get_voltage_sel = regulator_get_voltage_sel_regmap,
.list_voltage = regulator_list_voltage_linear_range, .list_voltage = regulator_list_voltage_linear_range,
...@@ -141,7 +141,7 @@ static struct regulator_ops axp20x_ops_range = { ...@@ -141,7 +141,7 @@ static struct regulator_ops axp20x_ops_range = {
.is_enabled = regulator_is_enabled_regmap, .is_enabled = regulator_is_enabled_regmap,
}; };
static struct regulator_ops axp20x_ops = { static const struct regulator_ops axp20x_ops = {
.set_voltage_sel = regulator_set_voltage_sel_regmap, .set_voltage_sel = regulator_set_voltage_sel_regmap,
.get_voltage_sel = regulator_get_voltage_sel_regmap, .get_voltage_sel = regulator_get_voltage_sel_regmap,
.list_voltage = regulator_list_voltage_linear, .list_voltage = regulator_list_voltage_linear,
...@@ -150,7 +150,7 @@ static struct regulator_ops axp20x_ops = { ...@@ -150,7 +150,7 @@ static struct regulator_ops axp20x_ops = {
.is_enabled = regulator_is_enabled_regmap, .is_enabled = regulator_is_enabled_regmap,
}; };
static struct regulator_ops axp20x_ops_sw = { static const struct regulator_ops axp20x_ops_sw = {
.enable = regulator_enable_regmap, .enable = regulator_enable_regmap,
.disable = regulator_disable_regmap, .disable = regulator_disable_regmap,
.is_enabled = regulator_is_enabled_regmap, .is_enabled = regulator_is_enabled_regmap,
......
...@@ -250,7 +250,7 @@ static int bcm590xx_get_enable_register(int id) ...@@ -250,7 +250,7 @@ static int bcm590xx_get_enable_register(int id)
return reg; return reg;
} }
static struct regulator_ops bcm590xx_ops_ldo = { static const struct regulator_ops bcm590xx_ops_ldo = {
.is_enabled = regulator_is_enabled_regmap, .is_enabled = regulator_is_enabled_regmap,
.enable = regulator_enable_regmap, .enable = regulator_enable_regmap,
.disable = regulator_disable_regmap, .disable = regulator_disable_regmap,
...@@ -260,7 +260,7 @@ static struct regulator_ops bcm590xx_ops_ldo = { ...@@ -260,7 +260,7 @@ static struct regulator_ops bcm590xx_ops_ldo = {
.map_voltage = regulator_map_voltage_iterate, .map_voltage = regulator_map_voltage_iterate,
}; };
static struct regulator_ops bcm590xx_ops_dcdc = { static const struct regulator_ops bcm590xx_ops_dcdc = {
.is_enabled = regulator_is_enabled_regmap, .is_enabled = regulator_is_enabled_regmap,
.enable = regulator_enable_regmap, .enable = regulator_enable_regmap,
.disable = regulator_disable_regmap, .disable = regulator_disable_regmap,
...@@ -270,7 +270,7 @@ static struct regulator_ops bcm590xx_ops_dcdc = { ...@@ -270,7 +270,7 @@ static struct regulator_ops bcm590xx_ops_dcdc = {
.map_voltage = regulator_map_voltage_linear_range, .map_voltage = regulator_map_voltage_linear_range,
}; };
static struct regulator_ops bcm590xx_ops_vbus = { static const struct regulator_ops bcm590xx_ops_vbus = {
.is_enabled = regulator_is_enabled_regmap, .is_enabled = regulator_is_enabled_regmap,
.enable = regulator_enable_regmap, .enable = regulator_enable_regmap,
.disable = regulator_disable_regmap, .disable = regulator_disable_regmap,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment