regulator: core: add regulator_get_linear_step()
Add regulator_get_linear_step(), which returns the voltage step size between VSEL values for linear regulators. This is intended for use by regulator consumers which build their own voltage-to-VSEL tables. Signed-off-by: Paul Walmsley <pwalmsley@nvidia.com> Reviewed-by: Andrew Chew <achew@nvidia.com> Cc: Matthew Longnecker <mlongnecker@nvidia.com> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
committed by
Mark Brown
parent
d683b96b07
commit
2a668a8bc2
@@ -2134,6 +2134,21 @@ int regulator_list_voltage(struct regulator *regulator, unsigned selector)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(regulator_list_voltage);
|
EXPORT_SYMBOL_GPL(regulator_list_voltage);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* regulator_get_linear_step - return the voltage step size between VSEL values
|
||||||
|
* @regulator: regulator source
|
||||||
|
*
|
||||||
|
* Returns the voltage step size between VSEL values for linear
|
||||||
|
* regulators, or return 0 if the regulator isn't a linear regulator.
|
||||||
|
*/
|
||||||
|
unsigned int regulator_get_linear_step(struct regulator *regulator)
|
||||||
|
{
|
||||||
|
struct regulator_dev *rdev = regulator->rdev;
|
||||||
|
|
||||||
|
return rdev->desc->uV_step;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(regulator_get_linear_step);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* regulator_is_supported_voltage - check if a voltage range can be supported
|
* regulator_is_supported_voltage - check if a voltage range can be supported
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -165,6 +165,7 @@ int regulator_count_voltages(struct regulator *regulator);
|
|||||||
int regulator_list_voltage(struct regulator *regulator, unsigned selector);
|
int regulator_list_voltage(struct regulator *regulator, unsigned selector);
|
||||||
int regulator_is_supported_voltage(struct regulator *regulator,
|
int regulator_is_supported_voltage(struct regulator *regulator,
|
||||||
int min_uV, int max_uV);
|
int min_uV, int max_uV);
|
||||||
|
unsigned int regulator_get_linear_step(struct regulator *regulator);
|
||||||
int regulator_set_voltage(struct regulator *regulator, int min_uV, int max_uV);
|
int regulator_set_voltage(struct regulator *regulator, int min_uV, int max_uV);
|
||||||
int regulator_set_voltage_time(struct regulator *regulator,
|
int regulator_set_voltage_time(struct regulator *regulator,
|
||||||
int old_uV, int new_uV);
|
int old_uV, int new_uV);
|
||||||
|
|||||||
Reference in New Issue
Block a user