@@ -102,13 +102,12 @@ struct linear_range {
* struct rpmh_vreg_hw_data - RPMh regulator hardware configurations
* @regulator_type: RPMh accelerator type used to manage this
* regulator
* @ops: Pointer to regulator ops callback structure
- * @voltage_ranges: The possible ranges of voltages supported by this
- * PMIC regulator type
- * @n_linear_ranges: Number of entries in voltage_ranges
+ * @voltage_range: The single range of voltages supported by this
+ * PMIC regulator type
* @n_voltages: The number of unique voltage set points defined
- * by voltage_ranges
+ * by voltage_range
* @hpm_min_load_uA: Minimum load current in microamps that requires
* high power mode (HPM) operation. This is used
* for LDO hardware type regulators only.
* @pmic_mode_map: Array indexed by regulator framework mode
@@ -119,15 +118,15 @@ struct linear_range {
* in device tree to a regulator framework mode
*/
struct rpmh_vreg_hw_data {
enum rpmh_regulator_type regulator_type;
- const struct regulator_ops *ops;
- const struct linear_range *voltage_ranges;
- int n_linear_ranges;
+ const struct dm_regulator_ops *ops;
+ struct linear_range voltage_range;
int n_voltages;
int hpm_min_load_uA;
- const int *pmic_mode_map;
- unsigned int (*of_map_mode)(unsigned int mode);
+ struct dm_regulator_mode *pmic_mode_map;
+ int n_modes;
+ unsigned int (*of_map_mode)(unsigned int mode);
};
/**
* struct rpmh_vreg - individual RPMh regulator data structure encapsulating a
@@ -148,23 +147,22 @@ struct rpmh_vreg_hw_data {
* not
* @bypassed: Boolean indicating if the regulator is in
* bypass (pass-through) mode or not. This is
* only used by BOB rpmh-regulator resources.
- * @voltage_selector: Selector used for get_voltage_sel() and
- * set_voltage_sel() callbacks
+ * @uv: Selector used for get_voltage_sel() and
+ * set_value() callbacks
* @mode: RPMh VRM regulator current framework mode
*/
struct rpmh_vreg {
- struct device *dev;
+ struct udevice *dev;
u32 addr;
- struct regulator_desc rdesc;
const struct rpmh_vreg_hw_data *hw_data;
bool always_wait_for_ack;
int enabled;
bool bypassed;
- int voltage_selector;
- unsigned int mode;
+ int uv;
+ int mode;
};
/**
* struct rpmh_vreg_init_data - initialization data for an RPMh regulator
Switch to our linear_range helpers and remove unused/unsupported linux-isms. Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org> --- drivers/power/regulator/qcom-rpmh-regulator.c | 28 +++++++++++++-------------- 1 file changed, 13 insertions(+), 15 deletions(-)