aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/jz4740/qi_lb60.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-10-25 11:32:05 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-10-25 11:32:05 -0400
commit33081adf8b89d5a716d7e1c60171768d39795b39 (patch)
tree275de58bbbb5f7ddffcdc087844cfc7fbe4315be /sound/soc/jz4740/qi_lb60.c
parentc55960499f810357a29659b32d6ea594abee9237 (diff)
parent506ecbca71d07fa327dd986be1682e90885678ee (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (365 commits) ALSA: hda - Disable sticky PCM stream assignment for AD codecs ALSA: usb - Creative USB X-Fi volume knob support ALSA: ca0106: Use card specific dac id for mute controls. ALSA: ca0106: Allow different sound cards to use different SPI channel mappings. ALSA: ca0106: Create a nice spot for mapping channels to dacs. ALSA: ca0106: Move enabling of front dac out of hardcoded setup sequence. ALSA: ca0106: Pull out dac powering routine into separate function. ALSA: ca0106 - add Sound Blaster 5.1vx info. ASoC: tlv320dac33: Use usleep_range for delays ALSA: usb-audio: add Novation Launchpad support ALSA: hda - Add workarounds for CT-IBG controllers ALSA: hda - Fix wrong TLV mute bit for STAC/IDT codecs ASoC: tpa6130a2: Error handling for broken chip ASoC: max98088: Staticise m98088_eq_band ASoC: soc-core: Fix codec->name memory leak ALSA: hda - Apply ideapad quirk to Acer laptops with Cxt5066 ALSA: hda - Add some workarounds for Creative IBG ALSA: hda - Fix wrong SPDIF NID assignment for CA0110 ALSA: hda - Fix codec rename rules for ALC662-compatible codecs ALSA: hda - Add alc_init_jacks() call to other codecs ...
Diffstat (limited to 'sound/soc/jz4740/qi_lb60.c')
-rw-r--r--sound/soc/jz4740/qi_lb60.c25
1 files changed, 8 insertions, 17 deletions
diff --git a/sound/soc/jz4740/qi_lb60.c b/sound/soc/jz4740/qi_lb60.c
index f15f4918f15f..ef1a99e6a3bd 100644
--- a/sound/soc/jz4740/qi_lb60.c
+++ b/sound/soc/jz4740/qi_lb60.c
@@ -22,11 +22,6 @@
22#include <sound/soc-dapm.h> 22#include <sound/soc-dapm.h>
23#include <linux/gpio.h> 23#include <linux/gpio.h>
24 24
25#include "../codecs/jz4740.h"
26#include "jz4740-pcm.h"
27#include "jz4740-i2s.h"
28
29
30#define QI_LB60_SND_GPIO JZ_GPIO_PORTB(29) 25#define QI_LB60_SND_GPIO JZ_GPIO_PORTB(29)
31#define QI_LB60_AMP_GPIO JZ_GPIO_PORTD(4) 26#define QI_LB60_AMP_GPIO JZ_GPIO_PORTD(4)
32 27
@@ -60,10 +55,11 @@ static const struct snd_soc_dapm_route qi_lb60_routes[] = {
60 SND_SOC_DAIFMT_NB_NF | \ 55 SND_SOC_DAIFMT_NB_NF | \
61 SND_SOC_DAIFMT_CBM_CFM) 56 SND_SOC_DAIFMT_CBM_CFM)
62 57
63static int qi_lb60_codec_init(struct snd_soc_codec *codec) 58static int qi_lb60_codec_init(struct snd_soc_pcm_runtime *rtd)
64{ 59{
60 struct snd_soc_codec *codec = rtd->codec;
61 struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
65 int ret; 62 int ret;
66 struct snd_soc_dai *cpu_dai = codec->socdev->card->dai_link->cpu_dai;
67 63
68 snd_soc_dapm_nc_pin(codec, "LIN"); 64 snd_soc_dapm_nc_pin(codec, "LIN");
69 snd_soc_dapm_nc_pin(codec, "RIN"); 65 snd_soc_dapm_nc_pin(codec, "RIN");
@@ -84,8 +80,10 @@ static int qi_lb60_codec_init(struct snd_soc_codec *codec)
84static struct snd_soc_dai_link qi_lb60_dai = { 80static struct snd_soc_dai_link qi_lb60_dai = {
85 .name = "jz4740", 81 .name = "jz4740",
86 .stream_name = "jz4740", 82 .stream_name = "jz4740",
87 .cpu_dai = &jz4740_i2s_dai, 83 .cpu_dai_name = "jz4740-i2s",
88 .codec_dai = &jz4740_codec_dai, 84 .platform_name = "jz4740-pcm-audio",
85 .codec_dai_name = "jz4740-hifi",
86 .codec_name = "jz4740-codec",
89 .init = qi_lb60_codec_init, 87 .init = qi_lb60_codec_init,
90}; 88};
91 89
@@ -93,12 +91,6 @@ static struct snd_soc_card qi_lb60 = {
93 .name = "QI LB60", 91 .name = "QI LB60",
94 .dai_link = &qi_lb60_dai, 92 .dai_link = &qi_lb60_dai,
95 .num_links = 1, 93 .num_links = 1,
96 .platform = &jz4740_soc_platform,
97};
98
99static struct snd_soc_device qi_lb60_snd_devdata = {
100 .card = &qi_lb60,
101 .codec_dev = &soc_codec_dev_jz4740_codec,
102}; 94};
103 95
104static struct platform_device *qi_lb60_snd_device; 96static struct platform_device *qi_lb60_snd_device;
@@ -129,8 +121,7 @@ static int __init qi_lb60_init(void)
129 gpio_direction_output(QI_LB60_SND_GPIO, 0); 121 gpio_direction_output(QI_LB60_SND_GPIO, 0);
130 gpio_direction_output(QI_LB60_AMP_GPIO, 0); 122 gpio_direction_output(QI_LB60_AMP_GPIO, 0);
131 123
132 platform_set_drvdata(qi_lb60_snd_device, &qi_lb60_snd_devdata); 124 platform_set_drvdata(qi_lb60_snd_device, &qi_lb60);
133 qi_lb60_snd_devdata.dev = &qi_lb60_snd_device->dev;
134 125
135 ret = platform_device_add(qi_lb60_snd_device); 126 ret = platform_device_add(qi_lb60_snd_device);
136 if (ret) { 127 if (ret) {