linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2/2] mfd: wm8994: Remove check for active audio in runtime suspend
  2013-07-17 11:20 [PATCH 1/2] mfd: wm8994: Remove duplicate check for active JACKDET Mark Brown
@ 2013-07-17 11:20 ` Mark Brown
  2013-07-17 11:58   ` Lee Jones
  0 siblings, 1 reply; 5+ messages in thread
From: Mark Brown @ 2013-07-17 11:20 UTC (permalink / raw)
  To: Samuel Ortiz, Lee Jones; +Cc: patches, linux-kernel, Mark Brown

From: Mark Brown <broonie@linaro.org>

Since enabling VMID takes a runtime PM reference there is no need to
suppress suspend when doing a runtime suspend. Similarly the digital
inputs and outputs are DAPM widgets and therefore the ASoC core will
be holding a reference for them.

This used to be required when integration with system suspend was being
bodged.

Signed-off-by: Mark Brown <broonie@linaro.org>
---
 drivers/mfd/wm8994-core.c | 30 +-----------------------------
 1 file changed, 1 insertion(+), 29 deletions(-)

diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c
index e8ecb8e..e1c283e 100644
--- a/drivers/mfd/wm8994-core.c
+++ b/drivers/mfd/wm8994-core.c
@@ -201,35 +201,7 @@ static int wm8994_suspend(struct device *dev)
 	int ret;
 
 	/* Don't actually go through with the suspend if the CODEC is
-	 * still active (eg, for audio passthrough from CP. */
-	ret = wm8994_reg_read(wm8994, WM8994_POWER_MANAGEMENT_1);
-	if (ret < 0) {
-		dev_err(dev, "Failed to read power status: %d\n", ret);
-	} else if (ret & WM8994_VMID_SEL_MASK) {
-		dev_dbg(dev, "CODEC still active, ignoring suspend\n");
-		return 0;
-	}
-
-	ret = wm8994_reg_read(wm8994, WM8994_POWER_MANAGEMENT_4);
-	if (ret < 0) {
-		dev_err(dev, "Failed to read power status: %d\n", ret);
-	} else if (ret & (WM8994_AIF2ADCL_ENA | WM8994_AIF2ADCR_ENA |
-			  WM8994_AIF1ADC2L_ENA | WM8994_AIF1ADC2R_ENA |
-			  WM8994_AIF1ADC1L_ENA | WM8994_AIF1ADC1R_ENA)) {
-		dev_dbg(dev, "CODEC still active, ignoring suspend\n");
-		return 0;
-	}
-
-	ret = wm8994_reg_read(wm8994, WM8994_POWER_MANAGEMENT_5);
-	if (ret < 0) {
-		dev_err(dev, "Failed to read power status: %d\n", ret);
-	} else if (ret & (WM8994_AIF2DACL_ENA | WM8994_AIF2DACR_ENA |
-			  WM8994_AIF1DAC2L_ENA | WM8994_AIF1DAC2R_ENA |
-			  WM8994_AIF1DAC1L_ENA | WM8994_AIF1DAC1R_ENA)) {
-		dev_dbg(dev, "CODEC still active, ignoring suspend\n");
-		return 0;
-	}
-
+	 * still active for accessory detect. */
 	switch (wm8994->type) {
 	case WM8958:
 	case WM1811:
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2] mfd: wm8994: Remove check for active audio in runtime suspend
  2013-07-17 11:20 ` [PATCH 2/2] mfd: wm8994: Remove check for active audio in runtime suspend Mark Brown
@ 2013-07-17 11:58   ` Lee Jones
  0 siblings, 0 replies; 5+ messages in thread
From: Lee Jones @ 2013-07-17 11:58 UTC (permalink / raw)
  To: Mark Brown; +Cc: Samuel Ortiz, patches, linux-kernel, Mark Brown

On Wed, 17 Jul 2013, Mark Brown wrote:

> From: Mark Brown <broonie@linaro.org>
> 
> Since enabling VMID takes a runtime PM reference there is no need to
> suppress suspend when doing a runtime suspend. Similarly the digital
> inputs and outputs are DAPM widgets and therefore the ASoC core will
> be holding a reference for them.
> 
> This used to be required when integration with system suspend was being
> bodged.
> 
> Signed-off-by: Mark Brown <broonie@linaro.org>
> ---
>  drivers/mfd/wm8994-core.c | 30 +-----------------------------
>  1 file changed, 1 insertion(+), 29 deletions(-)
> 
> diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c

Happy with this. Will apply when I fully understand 1/2.

Acked-by: Lee Jones <lee.jones@linaro.org>

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] mfd: wm8994: Remove unneeded check for JACKDET
@ 2013-07-17 12:16 Mark Brown
  2013-07-17 12:16 ` [PATCH 2/2] mfd: wm8994: Remove check for active audio in runtime suspend Mark Brown
  2013-07-17 12:24 ` [PATCH 1/2] mfd: wm8994: Remove unneeded check for JACKDET Lee Jones
  0 siblings, 2 replies; 5+ messages in thread
From: Mark Brown @ 2013-07-17 12:16 UTC (permalink / raw)
  To: Samuel Ortiz, Lee Jones; +Cc: patches, linux-kernel, linaro-kernel, Mark Brown

From: Mark Brown <broonie@linaro.org>

The jack detection code holds runtime PM references when required so
there is no need for suspend to do any checks.

Signed-off-by: Mark Brown <broonie@linaro.org>
---
 drivers/mfd/wm8994-core.c | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c
index 781115e..e8ecb8e 100644
--- a/drivers/mfd/wm8994-core.c
+++ b/drivers/mfd/wm8994-core.c
@@ -245,20 +245,6 @@ static int wm8994_suspend(struct device *dev)
 		break;
 	}
 
-	switch (wm8994->type) {
-	case WM1811:
-		ret = wm8994_reg_read(wm8994, WM8994_ANTIPOP_2);
-		if (ret < 0) {
-			dev_err(dev, "Failed to read jackdet: %d\n", ret);
-		} else if (ret & WM1811_JACKDET_MODE_MASK) {
-			dev_dbg(dev, "CODEC still active, ignoring suspend\n");
-			return 0;
-		}
-		break;
-	default:
-		break;
-	}
-
 	/* Disable LDO pulldowns while the device is suspended if we
 	 * don't know that something will be driving them. */
 	if (!wm8994->ldo_ena_always_driven)
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] mfd: wm8994: Remove check for active audio in runtime suspend
  2013-07-17 12:16 [PATCH 1/2] mfd: wm8994: Remove unneeded check for JACKDET Mark Brown
@ 2013-07-17 12:16 ` Mark Brown
  2013-07-17 12:24 ` [PATCH 1/2] mfd: wm8994: Remove unneeded check for JACKDET Lee Jones
  1 sibling, 0 replies; 5+ messages in thread
From: Mark Brown @ 2013-07-17 12:16 UTC (permalink / raw)
  To: Samuel Ortiz, Lee Jones; +Cc: patches, linux-kernel, linaro-kernel, Mark Brown

From: Mark Brown <broonie@linaro.org>

Since enabling VMID takes a runtime PM reference there is no need to
suppress suspend when doing a runtime suspend. Similarly the digital
inputs and outputs are DAPM widgets and therefore the ASoC core will
be holding a reference for them.

This used to be required when integration with system suspend was being
bodged.

Signed-off-by: Mark Brown <broonie@linaro.org>
---
 drivers/mfd/wm8994-core.c | 30 +-----------------------------
 1 file changed, 1 insertion(+), 29 deletions(-)

diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c
index e8ecb8e..e1c283e 100644
--- a/drivers/mfd/wm8994-core.c
+++ b/drivers/mfd/wm8994-core.c
@@ -201,35 +201,7 @@ static int wm8994_suspend(struct device *dev)
 	int ret;
 
 	/* Don't actually go through with the suspend if the CODEC is
-	 * still active (eg, for audio passthrough from CP. */
-	ret = wm8994_reg_read(wm8994, WM8994_POWER_MANAGEMENT_1);
-	if (ret < 0) {
-		dev_err(dev, "Failed to read power status: %d\n", ret);
-	} else if (ret & WM8994_VMID_SEL_MASK) {
-		dev_dbg(dev, "CODEC still active, ignoring suspend\n");
-		return 0;
-	}
-
-	ret = wm8994_reg_read(wm8994, WM8994_POWER_MANAGEMENT_4);
-	if (ret < 0) {
-		dev_err(dev, "Failed to read power status: %d\n", ret);
-	} else if (ret & (WM8994_AIF2ADCL_ENA | WM8994_AIF2ADCR_ENA |
-			  WM8994_AIF1ADC2L_ENA | WM8994_AIF1ADC2R_ENA |
-			  WM8994_AIF1ADC1L_ENA | WM8994_AIF1ADC1R_ENA)) {
-		dev_dbg(dev, "CODEC still active, ignoring suspend\n");
-		return 0;
-	}
-
-	ret = wm8994_reg_read(wm8994, WM8994_POWER_MANAGEMENT_5);
-	if (ret < 0) {
-		dev_err(dev, "Failed to read power status: %d\n", ret);
-	} else if (ret & (WM8994_AIF2DACL_ENA | WM8994_AIF2DACR_ENA |
-			  WM8994_AIF1DAC2L_ENA | WM8994_AIF1DAC2R_ENA |
-			  WM8994_AIF1DAC1L_ENA | WM8994_AIF1DAC1R_ENA)) {
-		dev_dbg(dev, "CODEC still active, ignoring suspend\n");
-		return 0;
-	}
-
+	 * still active for accessory detect. */
 	switch (wm8994->type) {
 	case WM8958:
 	case WM1811:
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] mfd: wm8994: Remove unneeded check for JACKDET
  2013-07-17 12:16 [PATCH 1/2] mfd: wm8994: Remove unneeded check for JACKDET Mark Brown
  2013-07-17 12:16 ` [PATCH 2/2] mfd: wm8994: Remove check for active audio in runtime suspend Mark Brown
@ 2013-07-17 12:24 ` Lee Jones
  1 sibling, 0 replies; 5+ messages in thread
From: Lee Jones @ 2013-07-17 12:24 UTC (permalink / raw)
  To: Mark Brown; +Cc: Samuel Ortiz, patches, linux-kernel, linaro-kernel, Mark Brown

On Wed, 17 Jul 2013, Mark Brown wrote:

> From: Mark Brown <broonie@linaro.org>
> 
> The jack detection code holds runtime PM references when required so
> there is no need for suspend to do any checks.
> 
> Signed-off-by: Mark Brown <broonie@linaro.org>
> ---
>  drivers/mfd/wm8994-core.c | 14 --------------
>  1 file changed, 14 deletions(-)
> 
> diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c

Thanks for the clarification.

Both patches applied.

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-07-17 12:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-17 12:16 [PATCH 1/2] mfd: wm8994: Remove unneeded check for JACKDET Mark Brown
2013-07-17 12:16 ` [PATCH 2/2] mfd: wm8994: Remove check for active audio in runtime suspend Mark Brown
2013-07-17 12:24 ` [PATCH 1/2] mfd: wm8994: Remove unneeded check for JACKDET Lee Jones
  -- strict thread matches above, loose matches on Subject: below --
2013-07-17 11:20 [PATCH 1/2] mfd: wm8994: Remove duplicate check for active JACKDET Mark Brown
2013-07-17 11:20 ` [PATCH 2/2] mfd: wm8994: Remove check for active audio in runtime suspend Mark Brown
2013-07-17 11:58   ` Lee Jones

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).