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

Commit 74ff8e06 authored by Sebastian Reichel's avatar Sebastian Reichel Committed by Mark Brown
Browse files

regulator: cpcap: Add OF mode mapping



Add device tree mode mapping capabilities to the cpcap driver.

Acked-by: default avatarTony Lindgren <tony@atomide.com>
Signed-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 91a024e8
Loading
Loading
Loading
Loading
+13 −0
Original line number Original line Diff line number Diff line
@@ -123,6 +123,7 @@ struct cpcap_regulator {
		.enable_val = (mode_val),				\
		.enable_val = (mode_val),				\
		.disable_val = (off_val),				\
		.disable_val = (off_val),				\
		.ramp_delay = (volt_trans_time),			\
		.ramp_delay = (volt_trans_time),			\
		.of_map_mode = cpcap_map_mode,				\
	},								\
	},								\
	.assign_reg = (assignment_reg),					\
	.assign_reg = (assignment_reg),					\
	.assign_mask = (assignment_mask),				\
	.assign_mask = (assignment_mask),				\
@@ -213,6 +214,18 @@ static int cpcap_regulator_disable(struct regulator_dev *rdev)
	return error;
	return error;
}
}


static unsigned int cpcap_map_mode(unsigned int mode)
{
	switch (mode) {
	case CPCAP_BIT_AUDIO_NORMAL_MODE:
		return REGULATOR_MODE_NORMAL;
	case CPCAP_BIT_AUDIO_LOW_PWR:
		return REGULATOR_MODE_STANDBY;
	default:
		return -EINVAL;
	}
}

static unsigned int cpcap_regulator_get_mode(struct regulator_dev *rdev)
static unsigned int cpcap_regulator_get_mode(struct regulator_dev *rdev)
{
{
	int value;
	int value;