]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge branch 'topic/asoc' into for-linus
authorTakashi Iwai <tiwai@suse.de>
Fri, 4 Dec 2009 15:22:41 +0000 (16:22 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 4 Dec 2009 15:22:41 +0000 (16:22 +0100)
1  2 
arch/arm/mach-omap2/board-omap3beagle.c
arch/arm/mach-omap2/board-omap3pandora.c
arch/arm/mach-omap2/board-zoom2.c
sound/soc/codecs/tlv320aic23.c
sound/soc/codecs/wm9713.c

index 08b0816afa61ef4f9373ccffa518b9f0214cc06d,8f0c106a449d09f2330c6867fbc8f5aca0b9594b..af411e11dddf1551ba336a24c92476d6da170b8f
@@@ -162,7 -162,7 +162,7 @@@ static int beagle_twl_gpio_setup(struc
  
        /* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, active low) */
        gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR");
 -      gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1);
 +      gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
  
        /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
        gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
@@@ -254,6 -254,15 +254,15 @@@ static struct twl4030_usb_data beagle_u
        .usb_mode       = T2_USB_MODE_ULPI,
  };
  
+ static struct twl4030_codec_audio_data beagle_audio_data = {
+       .audio_mclk = 26000000,
+ };
+ static struct twl4030_codec_data beagle_codec_data = {
+       .audio_mclk = 26000000,
+       .audio = &beagle_audio_data,
+ };
  static struct twl4030_platform_data beagle_twldata = {
        .irq_base       = TWL4030_IRQ_BASE,
        .irq_end        = TWL4030_IRQ_END,
        /* platform_data for children goes here */
        .usb            = &beagle_usb_data,
        .gpio           = &beagle_gpio_data,
+       .codec          = &beagle_codec_data,
        .vmmc1          = &beagle_vmmc1,
        .vsim           = &beagle_vsim,
        .vdac           = &beagle_vdac,
index 7519edb691558c097dddb160c0297c7b72ccb41b,ed97b54e1fa5266482bd2ae6818edb9492fafddd..c4be626c8422932ac1d04e589f77b8a2205670ad
@@@ -134,50 -134,50 +134,50 @@@ static void __init pandora_keys_gpio_in
  }
  
  static int board_keymap[] = {
 -      /* col, row, code */
 +      /* row, col, code */
        KEY(0, 0, KEY_9),
 -      KEY(0, 1, KEY_0),
 -      KEY(0, 2, KEY_BACKSPACE),
 -      KEY(0, 3, KEY_O),
 -      KEY(0, 4, KEY_P),
 -      KEY(0, 5, KEY_K),
 -      KEY(0, 6, KEY_L),
 -      KEY(0, 7, KEY_ENTER),
 -      KEY(1, 0, KEY_8),
 +      KEY(0, 1, KEY_8),
 +      KEY(0, 2, KEY_I),
 +      KEY(0, 3, KEY_J),
 +      KEY(0, 4, KEY_N),
 +      KEY(0, 5, KEY_M),
 +      KEY(1, 0, KEY_0),
        KEY(1, 1, KEY_7),
 -      KEY(1, 2, KEY_6),
 -      KEY(1, 3, KEY_5),
 -      KEY(1, 4, KEY_4),
 -      KEY(1, 5, KEY_3),
 -      KEY(1, 6, KEY_2),
 -      KEY(1, 7, KEY_1),
 -      KEY(2, 0, KEY_I),
 -      KEY(2, 1, KEY_U),
 +      KEY(1, 2, KEY_U),
 +      KEY(1, 3, KEY_H),
 +      KEY(1, 4, KEY_B),
 +      KEY(1, 5, KEY_SPACE),
 +      KEY(2, 0, KEY_BACKSPACE),
 +      KEY(2, 1, KEY_6),
        KEY(2, 2, KEY_Y),
 -      KEY(2, 3, KEY_T),
 -      KEY(2, 4, KEY_R),
 -      KEY(2, 5, KEY_E),
 -      KEY(2, 6, KEY_W),
 -      KEY(2, 7, KEY_Q),
 -      KEY(3, 0, KEY_J),
 -      KEY(3, 1, KEY_H),
 -      KEY(3, 2, KEY_G),
 +      KEY(2, 3, KEY_G),
 +      KEY(2, 4, KEY_V),
 +      KEY(2, 5, KEY_FN),
 +      KEY(3, 0, KEY_O),
 +      KEY(3, 1, KEY_5),
 +      KEY(3, 2, KEY_T),
        KEY(3, 3, KEY_F),
 -      KEY(3, 4, KEY_D),
 -      KEY(3, 5, KEY_S),
 -      KEY(3, 6, KEY_A),
 -      KEY(3, 7, KEY_LEFTSHIFT),
 -      KEY(4, 0, KEY_N),
 -      KEY(4, 1, KEY_B),
 -      KEY(4, 2, KEY_V),
 -      KEY(4, 3, KEY_C),
 +      KEY(3, 4, KEY_C),
 +      KEY(4, 0, KEY_P),
 +      KEY(4, 1, KEY_4),
 +      KEY(4, 2, KEY_R),
 +      KEY(4, 3, KEY_D),
        KEY(4, 4, KEY_X),
 -      KEY(4, 5, KEY_Z),
 -      KEY(4, 6, KEY_DOT),
 -      KEY(4, 7, KEY_COMMA),
 -      KEY(5, 0, KEY_M),
 -      KEY(5, 1, KEY_SPACE),
 -      KEY(5, 2, KEY_FN),
 +      KEY(5, 0, KEY_K),
 +      KEY(5, 1, KEY_3),
 +      KEY(5, 2, KEY_E),
 +      KEY(5, 3, KEY_S),
 +      KEY(5, 4, KEY_Z),
 +      KEY(6, 0, KEY_L),
 +      KEY(6, 1, KEY_2),
 +      KEY(6, 2, KEY_W),
 +      KEY(6, 3, KEY_A),
 +      KEY(6, 4, KEY_DOT),
 +      KEY(7, 0, KEY_ENTER),
 +      KEY(7, 1, KEY_1),
 +      KEY(7, 2, KEY_Q),
 +      KEY(7, 3, KEY_LEFTSHIFT),
 +      KEY(7, 4, KEY_COMMA),
  };
  
  static struct matrix_keymap_data board_map_data = {
@@@ -281,11 -281,21 +281,21 @@@ static struct twl4030_usb_data omap3pan
        .usb_mode       = T2_USB_MODE_ULPI,
  };
  
+ static struct twl4030_codec_audio_data omap3pandora_audio_data = {
+       .audio_mclk = 26000000,
+ };
+ static struct twl4030_codec_data omap3pandora_codec_data = {
+       .audio_mclk = 26000000,
+       .audio = &omap3pandora_audio_data,
+ };
  static struct twl4030_platform_data omap3pandora_twldata = {
        .irq_base       = TWL4030_IRQ_BASE,
        .irq_end        = TWL4030_IRQ_END,
        .gpio           = &omap3pandora_gpio_data,
        .usb            = &omap3pandora_usb_data,
+       .codec          = &omap3pandora_codec_data,
        .vmmc1          = &pandora_vmmc1,
        .vmmc2          = &pandora_vmmc2,
        .keypad         = &pandora_kp_data,
index 51e0b3ba5f3a3c0110e2a70868ebd6970a01738e,5fcb20f41a687350b8f631dd56fd8069cd775645..51df584728f6c37b2f991013a3e1c970acdeff3c
  /* Zoom2 has Qwerty keyboard*/
  static int board_keymap[] = {
        KEY(0, 0, KEY_E),
 -      KEY(1, 0, KEY_R),
 -      KEY(2, 0, KEY_T),
 -      KEY(3, 0, KEY_HOME),
 -      KEY(6, 0, KEY_I),
 -      KEY(7, 0, KEY_LEFTSHIFT),
 -      KEY(0, 1, KEY_D),
 +      KEY(0, 1, KEY_R),
 +      KEY(0, 2, KEY_T),
 +      KEY(0, 3, KEY_HOME),
 +      KEY(0, 6, KEY_I),
 +      KEY(0, 7, KEY_LEFTSHIFT),
 +      KEY(1, 0, KEY_D),
        KEY(1, 1, KEY_F),
 -      KEY(2, 1, KEY_G),
 -      KEY(3, 1, KEY_SEND),
 -      KEY(6, 1, KEY_K),
 -      KEY(7, 1, KEY_ENTER),
 -      KEY(0, 2, KEY_X),
 -      KEY(1, 2, KEY_C),
 +      KEY(1, 2, KEY_G),
 +      KEY(1, 3, KEY_SEND),
 +      KEY(1, 6, KEY_K),
 +      KEY(1, 7, KEY_ENTER),
 +      KEY(2, 0, KEY_X),
 +      KEY(2, 1, KEY_C),
        KEY(2, 2, KEY_V),
 -      KEY(3, 2, KEY_END),
 -      KEY(6, 2, KEY_DOT),
 -      KEY(7, 2, KEY_CAPSLOCK),
 -      KEY(0, 3, KEY_Z),
 -      KEY(1, 3, KEY_KPPLUS),
 -      KEY(2, 3, KEY_B),
 +      KEY(2, 3, KEY_END),
 +      KEY(2, 6, KEY_DOT),
 +      KEY(2, 7, KEY_CAPSLOCK),
 +      KEY(3, 0, KEY_Z),
 +      KEY(3, 1, KEY_KPPLUS),
 +      KEY(3, 2, KEY_B),
        KEY(3, 3, KEY_F1),
 -      KEY(6, 3, KEY_O),
 -      KEY(7, 3, KEY_SPACE),
 -      KEY(0, 4, KEY_W),
 -      KEY(1, 4, KEY_Y),
 -      KEY(2, 4, KEY_U),
 -      KEY(3, 4, KEY_F2),
 +      KEY(3, 6, KEY_O),
 +      KEY(3, 7, KEY_SPACE),
 +      KEY(4, 0, KEY_W),
 +      KEY(4, 1, KEY_Y),
 +      KEY(4, 2, KEY_U),
 +      KEY(4, 3, KEY_F2),
        KEY(4, 4, KEY_VOLUMEUP),
 -      KEY(6, 4, KEY_L),
 -      KEY(7, 4, KEY_LEFT),
 -      KEY(0, 5, KEY_S),
 -      KEY(1, 5, KEY_H),
 -      KEY(2, 5, KEY_J),
 -      KEY(3, 5, KEY_F3),
 +      KEY(4, 6, KEY_L),
 +      KEY(4, 7, KEY_LEFT),
 +      KEY(5, 0, KEY_S),
 +      KEY(5, 1, KEY_H),
 +      KEY(5, 2, KEY_J),
 +      KEY(5, 3, KEY_F3),
        KEY(5, 5, KEY_VOLUMEDOWN),
 -      KEY(6, 5, KEY_M),
 -      KEY(4, 5, KEY_ENTER),
 -      KEY(7, 5, KEY_RIGHT),
 -      KEY(0, 6, KEY_Q),
 -      KEY(1, 6, KEY_A),
 -      KEY(2, 6, KEY_N),
 -      KEY(3, 6, KEY_BACKSPACE),
 +      KEY(5, 6, KEY_M),
 +      KEY(5, 7, KEY_ENTER),
 +      KEY(6, 0, KEY_Q),
 +      KEY(6, 1, KEY_A),
 +      KEY(6, 2, KEY_N),
 +      KEY(6, 3, KEY_BACKSPACE),
        KEY(6, 6, KEY_P),
 -      KEY(7, 6, KEY_UP),
        KEY(6, 7, KEY_SELECT),
 -      KEY(7, 7, KEY_DOWN),
 -      KEY(0, 7, KEY_PROG1),   /*MACRO 1 <User defined> */
 -      KEY(1, 7, KEY_PROG2),   /*MACRO 2 <User defined> */
 -      KEY(2, 7, KEY_PROG3),   /*MACRO 3 <User defined> */
 -      KEY(3, 7, KEY_PROG4),   /*MACRO 4 <User defined> */
 -      0
 +      KEY(7, 0, KEY_PROG1),   /*MACRO 1 <User defined> */
 +      KEY(7, 1, KEY_PROG2),   /*MACRO 2 <User defined> */
 +      KEY(7, 2, KEY_PROG3),   /*MACRO 3 <User defined> */
 +      KEY(7, 3, KEY_PROG4),   /*MACRO 4 <User defined> */
 +      KEY(7, 5, KEY_RIGHT),
 +      KEY(7, 6, KEY_UP),
 +      KEY(7, 7, KEY_DOWN)
  };
  
  static struct matrix_keymap_data board_map_data = {
@@@ -230,6 -231,15 +230,15 @@@ static struct twl4030_madc_platform_dat
        .irq_line       = 1,
  };
  
+ static struct twl4030_codec_audio_data zoom2_audio_data = {
+       .audio_mclk = 26000000,
+ };
+ static struct twl4030_codec_data zoom2_codec_data = {
+       .audio_mclk = 26000000,
+       .audio = &zoom2_audio_data,
+ };
  static struct twl4030_platform_data zoom2_twldata = {
        .irq_base       = TWL4030_IRQ_BASE,
        .irq_end        = TWL4030_IRQ_END,
        .usb            = &zoom2_usb_data,
        .gpio           = &zoom2_gpio_data,
        .keypad         = &zoom2_kp_twl4030_data,
+       .codec          = &zoom2_codec_data,
        .vmmc1          = &zoom2_vmmc1,
        .vmmc2          = &zoom2_vmmc2,
        .vsim           = &zoom2_vsim,
index 58ffb6de400f90d4a5c99cbadf12be7ee0b6fc55,09d1af85b6f1ceda82bebde641178a7188aa9e4a..a9dc5fb54774e6fd373433e3c85acece1083c283
@@@ -85,7 -85,7 +85,7 @@@ static int tlv320aic23_write(struct snd
         * of data into val
         */
  
 -      if ((reg < 0 || reg > 9) && (reg != 15)) {
 +      if (reg > 9 && reg != 15) {
                printk(KERN_WARNING "%s Invalid register R%u\n", __func__, reg);
                return -1;
        }
@@@ -395,7 -395,6 +395,6 @@@ static int tlv320aic23_add_widgets(stru
        /* set up audio path interconnects */
        snd_soc_dapm_add_routes(codec, intercon, ARRAY_SIZE(intercon));
  
-       snd_soc_dapm_new_widgets(codec);
        return 0;
  }
  
@@@ -706,17 -705,9 +705,9 @@@ static int tlv320aic23_init(struct snd_
        snd_soc_add_controls(codec, tlv320aic23_snd_controls,
                                ARRAY_SIZE(tlv320aic23_snd_controls));
        tlv320aic23_add_widgets(codec);
-       ret = snd_soc_init_card(socdev);
-       if (ret < 0) {
-               printk(KERN_ERR "tlv320aic23: failed to register card\n");
-               goto card_err;
-       }
  
        return ret;
  
- card_err:
-       snd_soc_free_pcms(socdev);
-       snd_soc_dapm_free(socdev);
  pcm_err:
        kfree(codec->reg_cache);
        return ret;
index 60e360b1046803bf46dcd0aaaeb4dfefd3635c80,4d74ecb0e56b92d9b99702b9c7251a7251c56df7..c58aab375edbd4c59ee6e10187e7ccdcdd2322af
@@@ -165,9 -165,9 +165,9 @@@ SOC_SINGLE("Mono Playback Switch", AC97
  SOC_SINGLE("Mono Playback ZC Switch", AC97_MASTER_TONE, 6, 1, 0),
  SOC_SINGLE("Mono Playback Volume", AC97_MASTER_TONE, 0, 31, 1),
  
 -SOC_SINGLE("PC Beep Playback Headphone Volume", AC97_AUX, 12, 7, 1),
 -SOC_SINGLE("PC Beep Playback Speaker Volume", AC97_AUX, 8, 7, 1),
 -SOC_SINGLE("PC Beep Playback Mono Volume", AC97_AUX, 4, 7, 1),
 +SOC_SINGLE("Beep Playback Headphone Volume", AC97_AUX, 12, 7, 1),
 +SOC_SINGLE("Beep Playback Speaker Volume", AC97_AUX, 8, 7, 1),
 +SOC_SINGLE("Beep Playback Mono Volume", AC97_AUX, 4, 7, 1),
  
  SOC_SINGLE("Voice Playback Headphone Volume", AC97_PCM, 12, 7, 1),
  SOC_SINGLE("Voice Playback Master Volume", AC97_PCM, 8, 7, 1),
@@@ -266,7 -266,7 +266,7 @@@ static int mixer_event(struct snd_soc_d
  
  /* Left Headphone Mixers */
  static const struct snd_kcontrol_new wm9713_hpl_mixer_controls[] = {
 -SOC_DAPM_SINGLE("PC Beep Playback Switch", HPL_MIXER, 5, 1, 0),
 +SOC_DAPM_SINGLE("Beep Playback Switch", HPL_MIXER, 5, 1, 0),
  SOC_DAPM_SINGLE("Voice Playback Switch", HPL_MIXER, 4, 1, 0),
  SOC_DAPM_SINGLE("Aux Playback Switch", HPL_MIXER, 3, 1, 0),
  SOC_DAPM_SINGLE("PCM Playback Switch", HPL_MIXER, 2, 1, 0),
@@@ -276,7 -276,7 +276,7 @@@ SOC_DAPM_SINGLE("Bypass Playback Switch
  
  /* Right Headphone Mixers */
  static const struct snd_kcontrol_new wm9713_hpr_mixer_controls[] = {
 -SOC_DAPM_SINGLE("PC Beep Playback Switch", HPR_MIXER, 5, 1, 0),
 +SOC_DAPM_SINGLE("Beep Playback Switch", HPR_MIXER, 5, 1, 0),
  SOC_DAPM_SINGLE("Voice Playback Switch", HPR_MIXER, 4, 1, 0),
  SOC_DAPM_SINGLE("Aux Playback Switch", HPR_MIXER, 3, 1, 0),
  SOC_DAPM_SINGLE("PCM Playback Switch", HPR_MIXER, 2, 1, 0),
@@@ -294,7 -294,7 +294,7 @@@ SOC_DAPM_ENUM("Route", wm9713_enum[0])
  
  /* Speaker Mixer */
  static const struct snd_kcontrol_new wm9713_speaker_mixer_controls[] = {
 -SOC_DAPM_SINGLE("PC Beep Playback Switch", AC97_AUX, 11, 1, 1),
 +SOC_DAPM_SINGLE("Beep Playback Switch", AC97_AUX, 11, 1, 1),
  SOC_DAPM_SINGLE("Voice Playback Switch", AC97_PCM, 11, 1, 1),
  SOC_DAPM_SINGLE("Aux Playback Switch", AC97_REC_SEL, 11, 1, 1),
  SOC_DAPM_SINGLE("PCM Playback Switch", AC97_PHONE, 14, 1, 1),
@@@ -304,7 -304,7 +304,7 @@@ SOC_DAPM_SINGLE("Bypass Playback Switch
  
  /* Mono Mixer */
  static const struct snd_kcontrol_new wm9713_mono_mixer_controls[] = {
 -SOC_DAPM_SINGLE("PC Beep Playback Switch", AC97_AUX, 7, 1, 1),
 +SOC_DAPM_SINGLE("Beep Playback Switch", AC97_AUX, 7, 1, 1),
  SOC_DAPM_SINGLE("Voice Playback Switch", AC97_PCM, 7, 1, 1),
  SOC_DAPM_SINGLE("Aux Playback Switch", AC97_REC_SEL, 7, 1, 1),
  SOC_DAPM_SINGLE("PCM Playback Switch", AC97_PHONE, 13, 1, 1),
@@@ -463,7 -463,7 +463,7 @@@ SND_SOC_DAPM_VMID("VMID")
  
  static const struct snd_soc_dapm_route audio_map[] = {
        /* left HP mixer */
 -      {"Left HP Mixer", "PC Beep Playback Switch", "PCBEEP"},
 +      {"Left HP Mixer", "Beep Playback Switch",    "PCBEEP"},
        {"Left HP Mixer", "Voice Playback Switch",   "Voice DAC"},
        {"Left HP Mixer", "Aux Playback Switch",     "Aux DAC"},
        {"Left HP Mixer", "Bypass Playback Switch",  "Left Line In"},
        {"Left HP Mixer", NULL,  "Capture Headphone Mux"},
  
        /* right HP mixer */
 -      {"Right HP Mixer", "PC Beep Playback Switch", "PCBEEP"},
 +      {"Right HP Mixer", "Beep Playback Switch",    "PCBEEP"},
        {"Right HP Mixer", "Voice Playback Switch",   "Voice DAC"},
        {"Right HP Mixer", "Aux Playback Switch",     "Aux DAC"},
        {"Right HP Mixer", "Bypass Playback Switch",  "Right Line In"},
        {"Capture Mixer", NULL, "Right Capture Source"},
  
        /* speaker mixer */
 -      {"Speaker Mixer", "PC Beep Playback Switch", "PCBEEP"},
 +      {"Speaker Mixer", "Beep Playback Switch",    "PCBEEP"},
        {"Speaker Mixer", "Voice Playback Switch",   "Voice DAC"},
        {"Speaker Mixer", "Aux Playback Switch",     "Aux DAC"},
        {"Speaker Mixer", "Bypass Playback Switch",  "Line Mixer"},
        {"Speaker Mixer", "MonoIn Playback Switch",  "Mono In"},
  
        /* mono mixer */
 -      {"Mono Mixer", "PC Beep Playback Switch", "PCBEEP"},
 +      {"Mono Mixer", "Beep Playback Switch",    "PCBEEP"},
        {"Mono Mixer", "Voice Playback Switch",   "Voice DAC"},
        {"Mono Mixer", "Aux Playback Switch",     "Aux DAC"},
        {"Mono Mixer", "Bypass Playback Switch",  "Line Mixer"},
@@@ -625,7 -625,6 +625,6 @@@ static int wm9713_add_widgets(struct sn
  
        snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
  
-       snd_soc_dapm_new_widgets(codec);
        return 0;
  }
  
@@@ -800,8 -799,8 +799,8 @@@ static int wm9713_set_pll(struct snd_so
        return 0;
  }
  
- static int wm9713_set_dai_pll(struct snd_soc_dai *codec_dai,
-               int pll_id, unsigned int freq_in, unsigned int freq_out)
+ static int wm9713_set_dai_pll(struct snd_soc_dai *codec_dai, int pll_id,
+               int source, unsigned int freq_in, unsigned int freq_out)
  {
        struct snd_soc_codec *codec = codec_dai->codec;
        return wm9713_set_pll(codec, pll_id, freq_in, freq_out);
@@@ -1247,14 -1246,11 +1246,11 @@@ static int wm9713_soc_probe(struct plat
        snd_soc_add_controls(codec, wm9713_snd_ac97_controls,
                                ARRAY_SIZE(wm9713_snd_ac97_controls));
        wm9713_add_widgets(codec);
-       ret = snd_soc_init_card(socdev);
-       if (ret < 0)
-               goto reset_err;
        return 0;
  
  reset_err:
        snd_soc_free_pcms(socdev);
  pcm_err:
        snd_soc_free_ac97_codec(codec);