* [PATCHv2 0/3] regulator: cpcap: Fix standby mode
@ 2017-07-10 14:33 Sebastian Reichel
2017-07-10 14:33 ` [PATCHv2 1/3] " Sebastian Reichel
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Sebastian Reichel @ 2017-07-10 14:33 UTC (permalink / raw)
To: Sebastian Reichel, Liam Girdwood, Mark Brown, Tony Lindgren
Cc: linux-kernel, linux-omap, Sebastian Reichel
Hi,
This fixes standby mode of vaudio on Motorola Droid 4.
Changes since PATCHv1:
* return -EINVAL for invalid modes
* Split driver change into two patches, since two things are changed
* Add Acked-by from Tony
-- Sebastian
Sebastian Reichel (3):
regulator: cpcap: Fix standby mode
regulator: cpcap: Add OF mode mapping
ARM: dts: motorola-cpcap-mapphone: set initial mode for vaudio
arch/arm/boot/dts/motorola-cpcap-mapphone.dtsi | 1 +
drivers/regulator/cpcap-regulator.c | 21 ++++++++++++++++++---
2 files changed, 19 insertions(+), 3 deletions(-)
--
2.13.2
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCHv2 1/3] regulator: cpcap: Fix standby mode
2017-07-10 14:33 [PATCHv2 0/3] regulator: cpcap: Fix standby mode Sebastian Reichel
@ 2017-07-10 14:33 ` Sebastian Reichel
2017-07-10 18:42 ` Applied "regulator: cpcap: Fix standby mode" to the regulator tree Mark Brown
2017-07-10 14:33 ` [PATCHv2 2/3] regulator: cpcap: Add OF mode mapping Sebastian Reichel
2017-07-10 14:33 ` [PATCHv2 3/3] ARM: dts: motorola-cpcap-mapphone: set initial mode for vaudio Sebastian Reichel
2 siblings, 1 reply; 7+ messages in thread
From: Sebastian Reichel @ 2017-07-10 14:33 UTC (permalink / raw)
To: Sebastian Reichel, Liam Girdwood, Mark Brown, Tony Lindgren
Cc: linux-kernel, linux-omap, Sebastian Reichel
The original patch from Tony uses standby mode bit inverted, which is
not correct. This fixes all instances in the driver code for get & set
mode. This did not yet make problems, since mode has not been changed
by any mainline driver so far.
Fixes: 0ad4c07edd41 ("regulator: cpcap: Add basic regulator support")
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
---
drivers/regulator/cpcap-regulator.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/regulator/cpcap-regulator.c b/drivers/regulator/cpcap-regulator.c
index cc98aceed1c1..ce1cab320f6f 100644
--- a/drivers/regulator/cpcap-regulator.c
+++ b/drivers/regulator/cpcap-regulator.c
@@ -77,6 +77,8 @@
#define CPCAP_BIT_VAUDIO_MODE0 BIT(1)
#define CPCAP_BIT_V_AUDIO_EN BIT(0)
+#define CPCAP_BIT_AUDIO_NORMAL_MODE 0x00
+
/*
* Off mode configuration bit. Used currently only by SW5 on omap4. There's
* the following comment in Motorola Linux kernel tree for it:
@@ -217,7 +219,7 @@ static unsigned int cpcap_regulator_get_mode(struct regulator_dev *rdev)
regmap_read(rdev->regmap, rdev->desc->enable_reg, &value);
- if (!(value & CPCAP_BIT_AUDIO_LOW_PWR))
+ if (value & CPCAP_BIT_AUDIO_LOW_PWR)
return REGULATOR_MODE_STANDBY;
return REGULATOR_MODE_NORMAL;
@@ -230,10 +232,10 @@ static int cpcap_regulator_set_mode(struct regulator_dev *rdev,
switch (mode) {
case REGULATOR_MODE_NORMAL:
- value = CPCAP_BIT_AUDIO_LOW_PWR;
+ value = CPCAP_BIT_AUDIO_NORMAL_MODE;
break;
case REGULATOR_MODE_STANDBY:
- value = 0;
+ value = CPCAP_BIT_AUDIO_LOW_PWR;
break;
default:
return -EINVAL;
--
2.13.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCHv2 2/3] regulator: cpcap: Add OF mode mapping
2017-07-10 14:33 [PATCHv2 0/3] regulator: cpcap: Fix standby mode Sebastian Reichel
2017-07-10 14:33 ` [PATCHv2 1/3] " Sebastian Reichel
@ 2017-07-10 14:33 ` Sebastian Reichel
2017-07-10 18:42 ` Applied "regulator: cpcap: Add OF mode mapping" to the regulator tree Mark Brown
2017-07-10 14:33 ` [PATCHv2 3/3] ARM: dts: motorola-cpcap-mapphone: set initial mode for vaudio Sebastian Reichel
2 siblings, 1 reply; 7+ messages in thread
From: Sebastian Reichel @ 2017-07-10 14:33 UTC (permalink / raw)
To: Sebastian Reichel, Liam Girdwood, Mark Brown, Tony Lindgren
Cc: linux-kernel, linux-omap, Sebastian Reichel
Add device tree mode mapping capabilities to the cpcap driver.
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
---
drivers/regulator/cpcap-regulator.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/regulator/cpcap-regulator.c b/drivers/regulator/cpcap-regulator.c
index ce1cab320f6f..f541b80f1b54 100644
--- a/drivers/regulator/cpcap-regulator.c
+++ b/drivers/regulator/cpcap-regulator.c
@@ -123,6 +123,7 @@ struct cpcap_regulator {
.enable_val = (mode_val), \
.disable_val = (off_val), \
.ramp_delay = (volt_trans_time), \
+ .of_map_mode = cpcap_map_mode, \
}, \
.assign_reg = (assignment_reg), \
.assign_mask = (assignment_mask), \
@@ -213,6 +214,18 @@ static int cpcap_regulator_disable(struct regulator_dev *rdev)
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)
{
int value;
--
2.13.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCHv2 3/3] ARM: dts: motorola-cpcap-mapphone: set initial mode for vaudio
2017-07-10 14:33 [PATCHv2 0/3] regulator: cpcap: Fix standby mode Sebastian Reichel
2017-07-10 14:33 ` [PATCHv2 1/3] " Sebastian Reichel
2017-07-10 14:33 ` [PATCHv2 2/3] regulator: cpcap: Add OF mode mapping Sebastian Reichel
@ 2017-07-10 14:33 ` Sebastian Reichel
2017-08-10 16:45 ` Tony Lindgren
2 siblings, 1 reply; 7+ messages in thread
From: Sebastian Reichel @ 2017-07-10 14:33 UTC (permalink / raw)
To: Sebastian Reichel, Liam Girdwood, Mark Brown, Tony Lindgren
Cc: linux-kernel, linux-omap, Sebastian Reichel
Set default mode for vaudio, which may be left in standby mode
if the system is booted via kexec from Android.
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
---
arch/arm/boot/dts/motorola-cpcap-mapphone.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/boot/dts/motorola-cpcap-mapphone.dtsi b/arch/arm/boot/dts/motorola-cpcap-mapphone.dtsi
index 86033aee8a29..7c6d61fb5cf2 100644
--- a/arch/arm/boot/dts/motorola-cpcap-mapphone.dtsi
+++ b/arch/arm/boot/dts/motorola-cpcap-mapphone.dtsi
@@ -261,5 +261,6 @@
regulator-min-microvolt = <2775000>;
regulator-max-microvolt = <2775000>;
regulator-enable-ramp-delay = <1000>;
+ regulator-initial-mode = <0x00>; /* NORMAL */
};
};
--
2.13.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Applied "regulator: cpcap: Add OF mode mapping" to the regulator tree
2017-07-10 14:33 ` [PATCHv2 2/3] regulator: cpcap: Add OF mode mapping Sebastian Reichel
@ 2017-07-10 18:42 ` Mark Brown
0 siblings, 0 replies; 7+ messages in thread
From: Mark Brown @ 2017-07-10 18:42 UTC (permalink / raw)
To: Sebastian Reichel
Cc: Tony Lindgren, Mark Brown, Sebastian Reichel, Liam Girdwood,
Mark Brown, Tony Lindgren, linux-kernel, linux-omap,
linux-kernel
The patch
regulator: cpcap: Add OF mode mapping
has been applied to the regulator tree at
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
>From 8c02843cb0f9f2c8857d9228ec56ce931e957f62 Mon Sep 17 00:00:00 2001
From: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Date: Mon, 10 Jul 2017 16:33:40 +0200
Subject: [PATCH] regulator: cpcap: Add OF mode mapping
Add device tree mode mapping capabilities to the cpcap driver.
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
drivers/regulator/cpcap-regulator.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/regulator/cpcap-regulator.c b/drivers/regulator/cpcap-regulator.c
index ce1cab320f6f..f541b80f1b54 100644
--- a/drivers/regulator/cpcap-regulator.c
+++ b/drivers/regulator/cpcap-regulator.c
@@ -123,6 +123,7 @@ struct cpcap_regulator {
.enable_val = (mode_val), \
.disable_val = (off_val), \
.ramp_delay = (volt_trans_time), \
+ .of_map_mode = cpcap_map_mode, \
}, \
.assign_reg = (assignment_reg), \
.assign_mask = (assignment_mask), \
@@ -213,6 +214,18 @@ static int cpcap_regulator_disable(struct regulator_dev *rdev)
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)
{
int value;
--
2.13.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Applied "regulator: cpcap: Fix standby mode" to the regulator tree
2017-07-10 14:33 ` [PATCHv2 1/3] " Sebastian Reichel
@ 2017-07-10 18:42 ` Mark Brown
0 siblings, 0 replies; 7+ messages in thread
From: Mark Brown @ 2017-07-10 18:42 UTC (permalink / raw)
To: Sebastian Reichel
Cc: Tony Lindgren, Mark Brown, stable, Sebastian Reichel,
Liam Girdwood, Mark Brown, Tony Lindgren, linux-kernel,
linux-omap, linux-kernel
The patch
regulator: cpcap: Fix standby mode
has been applied to the regulator tree at
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
>From 4ebb9d7f901027e1740f69829cf10af0193e8e17 Mon Sep 17 00:00:00 2001
From: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Date: Mon, 10 Jul 2017 16:33:39 +0200
Subject: [PATCH] regulator: cpcap: Fix standby mode
The original patch from Tony uses standby mode bit inverted, which is
not correct. This fixes all instances in the driver code for get & set
mode. This did not yet make problems, since mode has not been changed
by any mainline driver so far.
Fixes: 0ad4c07edd41 ("regulator: cpcap: Add basic regulator support")
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
---
drivers/regulator/cpcap-regulator.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/regulator/cpcap-regulator.c b/drivers/regulator/cpcap-regulator.c
index cc98aceed1c1..ce1cab320f6f 100644
--- a/drivers/regulator/cpcap-regulator.c
+++ b/drivers/regulator/cpcap-regulator.c
@@ -77,6 +77,8 @@
#define CPCAP_BIT_VAUDIO_MODE0 BIT(1)
#define CPCAP_BIT_V_AUDIO_EN BIT(0)
+#define CPCAP_BIT_AUDIO_NORMAL_MODE 0x00
+
/*
* Off mode configuration bit. Used currently only by SW5 on omap4. There's
* the following comment in Motorola Linux kernel tree for it:
@@ -217,7 +219,7 @@ static unsigned int cpcap_regulator_get_mode(struct regulator_dev *rdev)
regmap_read(rdev->regmap, rdev->desc->enable_reg, &value);
- if (!(value & CPCAP_BIT_AUDIO_LOW_PWR))
+ if (value & CPCAP_BIT_AUDIO_LOW_PWR)
return REGULATOR_MODE_STANDBY;
return REGULATOR_MODE_NORMAL;
@@ -230,10 +232,10 @@ static int cpcap_regulator_set_mode(struct regulator_dev *rdev,
switch (mode) {
case REGULATOR_MODE_NORMAL:
- value = CPCAP_BIT_AUDIO_LOW_PWR;
+ value = CPCAP_BIT_AUDIO_NORMAL_MODE;
break;
case REGULATOR_MODE_STANDBY:
- value = 0;
+ value = CPCAP_BIT_AUDIO_LOW_PWR;
break;
default:
return -EINVAL;
--
2.13.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCHv2 3/3] ARM: dts: motorola-cpcap-mapphone: set initial mode for vaudio
2017-07-10 14:33 ` [PATCHv2 3/3] ARM: dts: motorola-cpcap-mapphone: set initial mode for vaudio Sebastian Reichel
@ 2017-08-10 16:45 ` Tony Lindgren
0 siblings, 0 replies; 7+ messages in thread
From: Tony Lindgren @ 2017-08-10 16:45 UTC (permalink / raw)
To: Sebastian Reichel
Cc: Sebastian Reichel, Liam Girdwood, Mark Brown, linux-kernel, linux-omap
* Sebastian Reichel <sebastian.reichel@collabora.co.uk> [170710 07:34]:
> Set default mode for vaudio, which may be left in standby mode
> if the system is booted via kexec from Android.
Applying into omap-for-v4.14/dt thanks.
Tony
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2017-08-10 16:46 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-10 14:33 [PATCHv2 0/3] regulator: cpcap: Fix standby mode Sebastian Reichel
2017-07-10 14:33 ` [PATCHv2 1/3] " Sebastian Reichel
2017-07-10 18:42 ` Applied "regulator: cpcap: Fix standby mode" to the regulator tree Mark Brown
2017-07-10 14:33 ` [PATCHv2 2/3] regulator: cpcap: Add OF mode mapping Sebastian Reichel
2017-07-10 18:42 ` Applied "regulator: cpcap: Add OF mode mapping" to the regulator tree Mark Brown
2017-07-10 14:33 ` [PATCHv2 3/3] ARM: dts: motorola-cpcap-mapphone: set initial mode for vaudio Sebastian Reichel
2017-08-10 16:45 ` Tony Lindgren
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).