[alsa-devel] ASoC updates for 2.6.30
The following changes since commit a1992db55d80297544a65160ddb98afba45f7759: Takashi Iwai (1): ASoC: remove non-existing referece to CONFIG_SND_SOC_CODEC_WM8991
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.30
Mark Brown (4): ASoC: Fix offset of freqmode in WM8580 PLL configuration ASoC: Fix WM8580 volume update handling for large register changes Merge commit 'takashi/fix/asoc' into for-2.6.30 ASoC: s3c-i2s-v2 needs to declare a license for modular builds
sound/soc/codecs/wm8580.c | 16 ++++++++++------ sound/soc/s3c24xx/s3c-i2s-v2.c | 3 ++- 2 files changed, 12 insertions(+), 7 deletions(-)
Signed-off-by: Mark Brown broonie@opensource.wolfsonmicro.com Cc: stable@kernel.org --- sound/soc/codecs/wm8580.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/sound/soc/codecs/wm8580.c b/sound/soc/codecs/wm8580.c index 442ea6f..41aab4a 100644 --- a/sound/soc/codecs/wm8580.c +++ b/sound/soc/codecs/wm8580.c @@ -522,7 +522,7 @@ static int wm8580_set_dai_pll(struct snd_soc_dai *codec_dai, reg = wm8580_read(codec, WM8580_PLLA4 + offset); reg &= ~0x3f; reg |= pll_div.prescale | pll_div.postscale << 1 | - pll_div.freqmode << 4; + pll_div.freqmode << 3;
wm8580_write(codec, WM8580_PLLA4 + offset, reg);
The driver is out of sync with the core functions it is using.
Signed-off-by: Mark Brown broonie@opensource.wolfsonmicro.com --- sound/soc/codecs/wm8580.c | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/sound/soc/codecs/wm8580.c b/sound/soc/codecs/wm8580.c index 41aab4a..9f6be3d 100644 --- a/sound/soc/codecs/wm8580.c +++ b/sound/soc/codecs/wm8580.c @@ -268,9 +268,11 @@ static const DECLARE_TLV_DB_SCALE(dac_tlv, -12750, 50, 1); static int wm8580_out_vu(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { + struct soc_mixer_control *mc = + (struct soc_mixer_control *)kcontrol->private_value; struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); - int reg = kcontrol->private_value & 0xff; - int reg2 = (kcontrol->private_value >> 24) & 0xff; + unsigned int reg = mc->reg; + unsigned int reg2 = mc->rreg; int ret; u16 val;
@@ -292,15 +294,17 @@ static int wm8580_out_vu(struct snd_kcontrol *kcontrol, return 0; }
-#define SOC_WM8580_OUT_DOUBLE_R_TLV(xname, reg_left, reg_right, shift, max, invert, tlv_array) \ +#define SOC_WM8580_OUT_DOUBLE_R_TLV(xname, reg_left, reg_right, xshift, xmax, \ + xinvert, tlv_array) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), \ .access = SNDRV_CTL_ELEM_ACCESS_TLV_READ |\ SNDRV_CTL_ELEM_ACCESS_READWRITE, \ .tlv.p = (tlv_array), \ .info = snd_soc_info_volsw_2r, \ .get = snd_soc_get_volsw_2r, .put = wm8580_out_vu, \ - .private_value = (reg_left) | ((shift) << 8) | \ - ((max) << 12) | ((invert) << 20) | ((reg_right) << 24) } + .private_value = (unsigned long)&(struct soc_mixer_control) \ + {.reg = reg_left, .rreg = reg_right, .shift = xshift, \ + .max = xmax, .invert = xinvert} }
static const struct snd_kcontrol_new wm8580_snd_controls[] = { SOC_WM8580_OUT_DOUBLE_R_TLV("DAC1 Playback Volume",
It relies on EXPORT_SYMBOL_GPL() symbols.
Signed-off-by: Mark Brown broonie@opensource.wolfsonmicro.com --- sound/soc/s3c24xx/s3c-i2s-v2.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/sound/soc/s3c24xx/s3c-i2s-v2.c b/sound/soc/s3c24xx/s3c-i2s-v2.c index 689ffcd..ab680aa 100644 --- a/sound/soc/s3c24xx/s3c-i2s-v2.c +++ b/sound/soc/s3c24xx/s3c-i2s-v2.c @@ -636,5 +636,6 @@ int s3c_i2sv2_register_dai(struct snd_soc_dai *dai)
return snd_soc_register_dai(dai); } - EXPORT_SYMBOL_GPL(s3c_i2sv2_register_dai); + +MODULE_LICENSE("GPL");
At Thu, 23 Apr 2009 19:48:29 +0100, Mark Brown wrote:
The following changes since commit a1992db55d80297544a65160ddb98afba45f7759: Takashi Iwai (1): ASoC: remove non-existing referece to CONFIG_SND_SOC_CODEC_WM8991
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.30
Pulled now. Thanks.
Takashi
Mark Brown (4): ASoC: Fix offset of freqmode in WM8580 PLL configuration ASoC: Fix WM8580 volume update handling for large register changes Merge commit 'takashi/fix/asoc' into for-2.6.30 ASoC: s3c-i2s-v2 needs to declare a license for modular builds
sound/soc/codecs/wm8580.c | 16 ++++++++++------ sound/soc/s3c24xx/s3c-i2s-v2.c | 3 ++- 2 files changed, 12 insertions(+), 7 deletions(-)
participants (2)
-
Mark Brown
-
Takashi Iwai