| Index: sound/soc/omap/ams-delta.c
|
| diff --git a/sound/soc/omap/ams-delta.c b/sound/soc/omap/ams-delta.c
|
| index 438146addbb88b0fdef55276d9513f772dc5b732..3167be689621ace695b79f4ffa11ea6878a8f933 100644
|
| --- a/sound/soc/omap/ams-delta.c
|
| +++ b/sound/soc/omap/ams-delta.c
|
| @@ -26,7 +26,7 @@
|
| #include <linux/spinlock.h>
|
| #include <linux/tty.h>
|
|
|
| -#include <sound/soc-dapm.h>
|
| +#include <sound/soc.h>
|
| #include <sound/jack.h>
|
|
|
| #include <asm/mach-types.h>
|
| @@ -94,6 +94,7 @@ static int ams_delta_set_audio_mode(struct snd_kcontrol *kcontrol,
|
| struct snd_ctl_elem_value *ucontrol)
|
| {
|
| struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
|
| + struct snd_soc_dapm_context *dapm = &codec->dapm;
|
| struct soc_enum *control = (struct soc_enum *)kcontrol->private_value;
|
| unsigned short pins;
|
| int pin, changed = 0;
|
| @@ -112,48 +113,48 @@ static int ams_delta_set_audio_mode(struct snd_kcontrol *kcontrol,
|
|
|
| /* Setup pins after corresponding bits if changed */
|
| pin = !!(pins & (1 << AMS_DELTA_MOUTHPIECE));
|
| - if (pin != snd_soc_dapm_get_pin_status(codec, "Mouthpiece")) {
|
| + if (pin != snd_soc_dapm_get_pin_status(dapm, "Mouthpiece")) {
|
| changed = 1;
|
| if (pin)
|
| - snd_soc_dapm_enable_pin(codec, "Mouthpiece");
|
| + snd_soc_dapm_enable_pin(dapm, "Mouthpiece");
|
| else
|
| - snd_soc_dapm_disable_pin(codec, "Mouthpiece");
|
| + snd_soc_dapm_disable_pin(dapm, "Mouthpiece");
|
| }
|
| pin = !!(pins & (1 << AMS_DELTA_EARPIECE));
|
| - if (pin != snd_soc_dapm_get_pin_status(codec, "Earpiece")) {
|
| + if (pin != snd_soc_dapm_get_pin_status(dapm, "Earpiece")) {
|
| changed = 1;
|
| if (pin)
|
| - snd_soc_dapm_enable_pin(codec, "Earpiece");
|
| + snd_soc_dapm_enable_pin(dapm, "Earpiece");
|
| else
|
| - snd_soc_dapm_disable_pin(codec, "Earpiece");
|
| + snd_soc_dapm_disable_pin(dapm, "Earpiece");
|
| }
|
| pin = !!(pins & (1 << AMS_DELTA_MICROPHONE));
|
| - if (pin != snd_soc_dapm_get_pin_status(codec, "Microphone")) {
|
| + if (pin != snd_soc_dapm_get_pin_status(dapm, "Microphone")) {
|
| changed = 1;
|
| if (pin)
|
| - snd_soc_dapm_enable_pin(codec, "Microphone");
|
| + snd_soc_dapm_enable_pin(dapm, "Microphone");
|
| else
|
| - snd_soc_dapm_disable_pin(codec, "Microphone");
|
| + snd_soc_dapm_disable_pin(dapm, "Microphone");
|
| }
|
| pin = !!(pins & (1 << AMS_DELTA_SPEAKER));
|
| - if (pin != snd_soc_dapm_get_pin_status(codec, "Speaker")) {
|
| + if (pin != snd_soc_dapm_get_pin_status(dapm, "Speaker")) {
|
| changed = 1;
|
| if (pin)
|
| - snd_soc_dapm_enable_pin(codec, "Speaker");
|
| + snd_soc_dapm_enable_pin(dapm, "Speaker");
|
| else
|
| - snd_soc_dapm_disable_pin(codec, "Speaker");
|
| + snd_soc_dapm_disable_pin(dapm, "Speaker");
|
| }
|
| pin = !!(pins & (1 << AMS_DELTA_AGC));
|
| if (pin != ams_delta_audio_agc) {
|
| ams_delta_audio_agc = pin;
|
| changed = 1;
|
| if (pin)
|
| - snd_soc_dapm_enable_pin(codec, "AGCIN");
|
| + snd_soc_dapm_enable_pin(dapm, "AGCIN");
|
| else
|
| - snd_soc_dapm_disable_pin(codec, "AGCIN");
|
| + snd_soc_dapm_disable_pin(dapm, "AGCIN");
|
| }
|
| if (changed)
|
| - snd_soc_dapm_sync(codec);
|
| + snd_soc_dapm_sync(dapm);
|
|
|
| mutex_unlock(&codec->mutex);
|
|
|
| @@ -164,19 +165,20 @@ static int ams_delta_get_audio_mode(struct snd_kcontrol *kcontrol,
|
| struct snd_ctl_elem_value *ucontrol)
|
| {
|
| struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
|
| + struct snd_soc_dapm_context *dapm = &codec->dapm;
|
| unsigned short pins, mode;
|
|
|
| - pins = ((snd_soc_dapm_get_pin_status(codec, "Mouthpiece") <<
|
| + pins = ((snd_soc_dapm_get_pin_status(dapm, "Mouthpiece") <<
|
| AMS_DELTA_MOUTHPIECE) |
|
| - (snd_soc_dapm_get_pin_status(codec, "Earpiece") <<
|
| + (snd_soc_dapm_get_pin_status(dapm, "Earpiece") <<
|
| AMS_DELTA_EARPIECE));
|
| if (pins)
|
| - pins |= (snd_soc_dapm_get_pin_status(codec, "Microphone") <<
|
| + pins |= (snd_soc_dapm_get_pin_status(dapm, "Microphone") <<
|
| AMS_DELTA_MICROPHONE);
|
| else
|
| - pins = ((snd_soc_dapm_get_pin_status(codec, "Microphone") <<
|
| + pins = ((snd_soc_dapm_get_pin_status(dapm, "Microphone") <<
|
| AMS_DELTA_MICROPHONE) |
|
| - (snd_soc_dapm_get_pin_status(codec, "Speaker") <<
|
| + (snd_soc_dapm_get_pin_status(dapm, "Speaker") <<
|
| AMS_DELTA_SPEAKER) |
|
| (ams_delta_audio_agc << AMS_DELTA_AGC));
|
|
|
| @@ -300,6 +302,7 @@ static int cx81801_open(struct tty_struct *tty)
|
| static void cx81801_close(struct tty_struct *tty)
|
| {
|
| struct snd_soc_codec *codec = tty->disc_data;
|
| + struct snd_soc_dapm_context *dapm = &codec->dapm;
|
|
|
| del_timer_sync(&cx81801_timer);
|
|
|
| @@ -312,12 +315,12 @@ static void cx81801_close(struct tty_struct *tty)
|
| v253_ops.close(tty);
|
|
|
| /* Revert back to default audio input/output constellation */
|
| - snd_soc_dapm_disable_pin(codec, "Mouthpiece");
|
| - snd_soc_dapm_enable_pin(codec, "Earpiece");
|
| - snd_soc_dapm_enable_pin(codec, "Microphone");
|
| - snd_soc_dapm_disable_pin(codec, "Speaker");
|
| - snd_soc_dapm_disable_pin(codec, "AGCIN");
|
| - snd_soc_dapm_sync(codec);
|
| + snd_soc_dapm_disable_pin(dapm, "Mouthpiece");
|
| + snd_soc_dapm_enable_pin(dapm, "Earpiece");
|
| + snd_soc_dapm_enable_pin(dapm, "Microphone");
|
| + snd_soc_dapm_disable_pin(dapm, "Speaker");
|
| + snd_soc_dapm_disable_pin(dapm, "AGCIN");
|
| + snd_soc_dapm_sync(dapm);
|
| }
|
|
|
| /* Line discipline .hangup() */
|
| @@ -432,16 +435,16 @@ static int ams_delta_set_bias_level(struct snd_soc_card *card,
|
| case SND_SOC_BIAS_ON:
|
| case SND_SOC_BIAS_PREPARE:
|
| case SND_SOC_BIAS_STANDBY:
|
| - if (codec->bias_level == SND_SOC_BIAS_OFF)
|
| + if (codec->dapm.bias_level == SND_SOC_BIAS_OFF)
|
| ams_delta_latch2_write(AMS_DELTA_LATCH2_MODEM_NRESET,
|
| AMS_DELTA_LATCH2_MODEM_NRESET);
|
| break;
|
| case SND_SOC_BIAS_OFF:
|
| - if (codec->bias_level != SND_SOC_BIAS_OFF)
|
| + if (codec->dapm.bias_level != SND_SOC_BIAS_OFF)
|
| ams_delta_latch2_write(AMS_DELTA_LATCH2_MODEM_NRESET,
|
| 0);
|
| }
|
| - codec->bias_level = level;
|
| + codec->dapm.bias_level = level;
|
|
|
| return 0;
|
| }
|
| @@ -492,6 +495,7 @@ static void ams_delta_shutdown(struct snd_pcm_substream *substream)
|
| static int ams_delta_cx20442_init(struct snd_soc_pcm_runtime *rtd)
|
| {
|
| struct snd_soc_codec *codec = rtd->codec;
|
| + struct snd_soc_dapm_context *dapm = &codec->dapm;
|
| struct snd_soc_dai *codec_dai = rtd->codec_dai;
|
| struct snd_soc_card *card = rtd->card;
|
| int ret;
|
| @@ -503,8 +507,6 @@ static int ams_delta_cx20442_init(struct snd_soc_pcm_runtime *rtd)
|
| /* Set up digital mute if not provided by the codec */
|
| if (!codec_dai->driver->ops) {
|
| codec_dai->driver->ops = &ams_delta_dai_ops;
|
| - } else if (!codec_dai->driver->ops->digital_mute) {
|
| - codec_dai->driver->ops->digital_mute = ams_delta_digital_mute;
|
| } else {
|
| ams_delta_ops.startup = ams_delta_startup;
|
| ams_delta_ops.shutdown = ams_delta_shutdown;
|
| @@ -541,7 +543,7 @@ static int ams_delta_cx20442_init(struct snd_soc_pcm_runtime *rtd)
|
| }
|
|
|
| /* Add board specific DAPM widgets and routes */
|
| - ret = snd_soc_dapm_new_controls(codec, ams_delta_dapm_widgets,
|
| + ret = snd_soc_dapm_new_controls(dapm, ams_delta_dapm_widgets,
|
| ARRAY_SIZE(ams_delta_dapm_widgets));
|
| if (ret) {
|
| dev_warn(card->dev,
|
| @@ -550,7 +552,7 @@ static int ams_delta_cx20442_init(struct snd_soc_pcm_runtime *rtd)
|
| return 0;
|
| }
|
|
|
| - ret = snd_soc_dapm_add_routes(codec, ams_delta_audio_map,
|
| + ret = snd_soc_dapm_add_routes(dapm, ams_delta_audio_map,
|
| ARRAY_SIZE(ams_delta_audio_map));
|
| if (ret) {
|
| dev_warn(card->dev,
|
| @@ -560,13 +562,13 @@ static int ams_delta_cx20442_init(struct snd_soc_pcm_runtime *rtd)
|
| }
|
|
|
| /* Set up initial pin constellation */
|
| - snd_soc_dapm_disable_pin(codec, "Mouthpiece");
|
| - snd_soc_dapm_enable_pin(codec, "Earpiece");
|
| - snd_soc_dapm_enable_pin(codec, "Microphone");
|
| - snd_soc_dapm_disable_pin(codec, "Speaker");
|
| - snd_soc_dapm_disable_pin(codec, "AGCIN");
|
| - snd_soc_dapm_disable_pin(codec, "AGCOUT");
|
| - snd_soc_dapm_sync(codec);
|
| + snd_soc_dapm_disable_pin(dapm, "Mouthpiece");
|
| + snd_soc_dapm_enable_pin(dapm, "Earpiece");
|
| + snd_soc_dapm_enable_pin(dapm, "Microphone");
|
| + snd_soc_dapm_disable_pin(dapm, "Speaker");
|
| + snd_soc_dapm_disable_pin(dapm, "AGCIN");
|
| + snd_soc_dapm_disable_pin(dapm, "AGCOUT");
|
| + snd_soc_dapm_sync(dapm);
|
|
|
| /* Add virtual switch */
|
| ret = snd_soc_add_controls(codec, ams_delta_audio_controls,
|
|
|