Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1bd1955a authored by Axel Lin's avatar Axel Lin Committed by Mark Brown
Browse files

regulator: ab3100: Convert fixed voltage to use regulator_list_voltage_linear

parent 368a7887
Loading
Loading
Loading
Loading
+13 −11
Original line number Diff line number Diff line
@@ -43,15 +43,12 @@
 * @dev: handle to the device
 * @plfdata: AB3100 platform data passed in at probe time
 * @regreg: regulator register number in the AB3100
 * @fixed_voltage: a fixed voltage for this regulator, if this
 *          0 the voltages array is used instead.
 */
struct ab3100_regulator {
	struct regulator_dev *rdev;
	struct device *dev;
	struct ab3100_platform_data *plfdata;
	u8 regreg;
	int fixed_voltage;
};

/* The order in which registers are initialized */
@@ -121,15 +118,12 @@ static struct ab3100_regulator
ab3100_regulators[AB3100_NUM_REGULATORS] = {
	{
		.regreg = AB3100_LDO_A,
		.fixed_voltage = LDO_A_VOLTAGE,
	},
	{
		.regreg = AB3100_LDO_C,
		.fixed_voltage = LDO_C_VOLTAGE,
	},
	{
		.regreg = AB3100_LDO_D,
		.fixed_voltage = LDO_D_VOLTAGE,
	},
	{
		.regreg = AB3100_LDO_E,
@@ -246,10 +240,6 @@ static int ab3100_get_voltage_regulator(struct regulator_dev *reg)
	u8 regval;
	int err;

	/* Return the voltage for fixed regulators immediately */
	if (abreg->fixed_voltage)
		return abreg->fixed_voltage;

	/*
	 * For variable types, read out setting and index into
	 * supplied voltage list.
@@ -382,11 +372,17 @@ static int ab3100_enable_time_regulator(struct regulator_dev *reg)
	return 0;
}

static int ab3100_get_fixed_voltage_regulator(struct regulator_dev *reg)
{
	return reg->desc->min_uV;
}

static struct regulator_ops regulator_ops_fixed = {
	.list_voltage = regulator_list_voltage_linear,
	.enable      = ab3100_enable_regulator,
	.disable     = ab3100_disable_regulator,
	.is_enabled  = ab3100_is_enabled_regulator,
	.get_voltage = ab3100_get_voltage_regulator,
	.get_voltage = ab3100_get_fixed_voltage_regulator,
	.enable_time = ab3100_enable_time_regulator,
};

@@ -430,22 +426,28 @@ ab3100_regulator_desc[AB3100_NUM_REGULATORS] = {
		.name = "LDO_A",
		.id   = AB3100_LDO_A,
		.ops  = &regulator_ops_fixed,
		.n_voltages = 1,
		.type = REGULATOR_VOLTAGE,
		.owner = THIS_MODULE,
		.min_uV = LDO_A_VOLTAGE,
	},
	{
		.name = "LDO_C",
		.id   = AB3100_LDO_C,
		.ops  = &regulator_ops_fixed,
		.n_voltages = 1,
		.type = REGULATOR_VOLTAGE,
		.owner = THIS_MODULE,
		.min_uV = LDO_C_VOLTAGE,
	},
	{
		.name = "LDO_D",
		.id   = AB3100_LDO_D,
		.ops  = &regulator_ops_fixed,
		.n_voltages = 1,
		.type = REGULATOR_VOLTAGE,
		.owner = THIS_MODULE,
		.min_uV = LDO_D_VOLTAGE,
	},
	{
		.name = "LDO_E",