alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Lars-Peter Clausen <lars@metafoo.de>
To: Mark Brown <broonie@kernel.org>, Liam Girdwood <lgirdwood@gmail.com>
Cc: Brian Austin <brian.austin@cirrus.com>,
	alsa-devel@alsa-project.org,
	Charles Keepax <ckeepax@opensource.wolfsonmicro.com>,
	Paul Handrigan <Paul.Handrigan@cirrus.com>,
	Lars-Peter Clausen <lars@metafoo.de>
Subject: [PATCH 31/47] ASoC: wm8962: Replace direct snd_soc_codec dapm field access
Date: Mon,  1 Jun 2015 10:10:50 +0200	[thread overview]
Message-ID: <1433146266-1599-31-git-send-email-lars@metafoo.de> (raw)
In-Reply-To: <1433146266-1599-1-git-send-email-lars@metafoo.de>

The dapm field of the snd_soc_codec struct is eventually going to be
removed, in preparation for this replace all manual access to
codec->dapm.bias_level with snd_soc_codec_get_bias_level() and replace all
other manual access to codec->dapm with snd_soc_codec_get_dapm().

Also drop the unnecessary comparison in the set_bias_level() callback that
checks if the device is already at the target level. The core already takes
care of this and will not call the callback if the device is already at the
target level.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 sound/soc/codecs/wm8962.c | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c
index 00793b7..c5748fd 100644
--- a/sound/soc/codecs/wm8962.c
+++ b/sound/soc/codecs/wm8962.c
@@ -2361,7 +2361,7 @@ static int wm8962_add_widgets(struct snd_soc_codec *codec)
 {
 	struct wm8962_priv *wm8962 = snd_soc_codec_get_drvdata(codec);
 	struct wm8962_pdata *pdata = &wm8962->pdata;
-	struct snd_soc_dapm_context *dapm = &codec->dapm;
+	struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
 
 	snd_soc_add_codec_controls(codec, wm8962_snd_controls,
 			     ARRAY_SIZE(wm8962_snd_controls));
@@ -2446,13 +2446,13 @@ static void wm8962_configure_bclk(struct snd_soc_codec *codec)
 	 * So we here provisionally enable it and then disable it afterward
 	 * if current bias_level hasn't reached SND_SOC_BIAS_ON.
 	 */
-	if (codec->dapm.bias_level != SND_SOC_BIAS_ON)
+	if (snd_soc_codec_get_bias_level(codec) != SND_SOC_BIAS_ON)
 		snd_soc_update_bits(codec, WM8962_CLOCKING2,
 				WM8962_SYSCLK_ENA_MASK, WM8962_SYSCLK_ENA);
 
 	dspclk = snd_soc_read(codec, WM8962_CLOCKING1);
 
-	if (codec->dapm.bias_level != SND_SOC_BIAS_ON)
+	if (snd_soc_codec_get_bias_level(codec) != SND_SOC_BIAS_ON)
 		snd_soc_update_bits(codec, WM8962_CLOCKING2,
 				WM8962_SYSCLK_ENA_MASK, 0);
 
@@ -2510,9 +2510,6 @@ static void wm8962_configure_bclk(struct snd_soc_codec *codec)
 static int wm8962_set_bias_level(struct snd_soc_codec *codec,
 				 enum snd_soc_bias_level level)
 {
-	if (level == codec->dapm.bias_level)
-		return 0;
-
 	switch (level) {
 	case SND_SOC_BIAS_ON:
 		break;
@@ -2530,7 +2527,7 @@ static int wm8962_set_bias_level(struct snd_soc_codec *codec,
 		snd_soc_update_bits(codec, WM8962_PWR_MGMT_1,
 				    WM8962_VMID_SEL_MASK, 0x100);
 
-		if (codec->dapm.bias_level == SND_SOC_BIAS_OFF)
+		if (snd_soc_codec_get_bias_level(codec) == SND_SOC_BIAS_OFF)
 			msleep(100);
 		break;
 
@@ -2613,7 +2610,7 @@ static int wm8962_hw_params(struct snd_pcm_substream *substream,
 	dev_dbg(codec->dev, "hw_params set BCLK %dHz LRCLK %dHz\n",
 		wm8962->bclk, wm8962->lrclk);
 
-	if (codec->dapm.bias_level == SND_SOC_BIAS_ON)
+	if (snd_soc_codec_get_bias_level(codec) == SND_SOC_BIAS_ON)
 		wm8962_configure_bclk(codec);
 
 	return 0;
@@ -3117,7 +3114,7 @@ static irqreturn_t wm8962_irq(int irq, void *data)
 int wm8962_mic_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack)
 {
 	struct wm8962_priv *wm8962 = snd_soc_codec_get_drvdata(codec);
-	struct snd_soc_dapm_context *dapm = &codec->dapm;
+	struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
 	int irq_mask, enable;
 
 	wm8962->jack = jack;
@@ -3163,7 +3160,7 @@ static void wm8962_beep_work(struct work_struct *work)
 	struct wm8962_priv *wm8962 =
 		container_of(work, struct wm8962_priv, beep_work);
 	struct snd_soc_codec *codec = wm8962->codec;
-	struct snd_soc_dapm_context *dapm = &codec->dapm;
+	struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
 	int i;
 	int reg = 0;
 	int best = 0;
@@ -3414,6 +3411,7 @@ static void wm8962_free_gpio(struct snd_soc_codec *codec)
 
 static int wm8962_probe(struct snd_soc_codec *codec)
 {
+	struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
 	int ret;
 	struct wm8962_priv *wm8962 = snd_soc_codec_get_drvdata(codec);
 	int i;
@@ -3461,7 +3459,7 @@ static int wm8962_probe(struct snd_soc_codec *codec)
 	}
 	if (!dmicclk || !dmicdat) {
 		dev_dbg(codec->dev, "DMIC not in use, disabling\n");
-		snd_soc_dapm_nc_pin(&codec->dapm, "DMICDAT");
+		snd_soc_dapm_nc_pin(dapm, "DMICDAT");
 	}
 	if (dmicclk != dmicdat)
 		dev_warn(codec->dev, "DMIC GPIOs partially configured\n");
-- 
2.1.4

  parent reply	other threads:[~2015-06-01  8:11 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-01  8:10 [PATCH 01/47] ASoC: cs42l52: Replace direct snd_soc_codec dapm field access Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 02/47] ASoC: cs42l56: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 03/47] ASoC: cs42l73: " Lars-Peter Clausen
2015-06-01 12:12   ` Brian Austin
2015-06-01  8:10 ` [PATCH 04/47] ASoC: cs42xx8: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 05/47] ASoC: arizona: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 06/47] ASoC: wm0010: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 07/47] ASoC: wm5100: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 08/47] ASoC: wm5102: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 09/47] ASoC: wm5110: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 10/47] ASoC: wm8350: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 11/47] ASoC: wm8400: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 12/47] ASoC: wm8510: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 13/47] ASoC: wm8523: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 14/47] ASoC: wm8580: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 15/47] ASoC: wm8711: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 16/47] ASoC: wm8728: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 17/47] ASoC: wm8731: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 18/47] ASoC: wm8737: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 19/47] ASoC: wm8750: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 20/47] ASoC: wm8753: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 21/47] ASoC: wm8770: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 22/47] ASoC: wm8776: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 23/47] ASoC: wm8804: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 24/47] ASoC: wm8900: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 25/47] ASoC: wm8903: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 26/47] ASoC: wm8904: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 27/47] ASoC: wm8940: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 28/47] ASoC: wm8955: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 29/47] ASoC: wm8960: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 30/47] ASoC: wm8961: " Lars-Peter Clausen
2015-06-01  8:10 ` Lars-Peter Clausen [this message]
2015-06-01  8:10 ` [PATCH 32/47] ASoC: wm8971: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 33/47] ASoC: wm8974: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 34/47] ASoC: wm8978: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 35/47] ASoC: wm8983: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 36/47] ASoC: wm8985: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 37/47] ASoC: wm8988: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 38/47] ASoC: wm8990: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 39/47] ASoC: wm8991: " Lars-Peter Clausen
2015-06-01  8:10 ` [PATCH 40/47] ASoC: wm8993: " Lars-Peter Clausen
2015-06-01  8:11 ` [PATCH 41/47] ASoC: wm8994: " Lars-Peter Clausen
2015-06-01  8:11 ` [PATCH 42/47] ASoC: wm8995: " Lars-Peter Clausen
2015-06-01  8:11 ` [PATCH 43/47] ASoC: wm8996: " Lars-Peter Clausen
2015-06-01  8:11 ` [PATCH 44/47] ASoC: wm8997: " Lars-Peter Clausen
2015-06-01  8:11 ` [PATCH 45/47] ASoC: wm9081: " Lars-Peter Clausen
2015-06-01  8:11 ` [PATCH 46/47] ASoC: wm9090: " Lars-Peter Clausen
2015-06-01  8:11 ` [PATCH 47/47] ASoC: wm_hubs: " Lars-Peter Clausen
2015-06-01  9:13   ` Charles Keepax
2015-06-01 15:46 ` [PATCH 01/47] ASoC: cs42l52: " Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1433146266-1599-31-git-send-email-lars@metafoo.de \
    --to=lars@metafoo.de \
    --cc=Paul.Handrigan@cirrus.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=brian.austin@cirrus.com \
    --cc=broonie@kernel.org \
    --cc=ckeepax@opensource.wolfsonmicro.com \
    --cc=lgirdwood@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).