diff options
Diffstat (limited to 'sound/soc/s6000/s6105-ipcam.c')
-rw-r--r-- | sound/soc/s6000/s6105-ipcam.c | 31 |
1 files changed, 11 insertions, 20 deletions
diff --git a/sound/soc/s6000/s6105-ipcam.c b/sound/soc/s6000/s6105-ipcam.c index c1b40ac22c05..96c05e137538 100644 --- a/sound/soc/s6000/s6105-ipcam.c +++ b/sound/soc/s6000/s6105-ipcam.c | |||
@@ -32,8 +32,8 @@ static int s6105_hw_params(struct snd_pcm_substream *substream, | |||
32 | struct snd_pcm_hw_params *params) | 32 | struct snd_pcm_hw_params *params) |
33 | { | 33 | { |
34 | struct snd_soc_pcm_runtime *rtd = substream->private_data; | 34 | struct snd_soc_pcm_runtime *rtd = substream->private_data; |
35 | struct snd_soc_dai *codec_dai = rtd->dai->codec_dai; | 35 | struct snd_soc_dai *codec_dai = rtd->codec_dai; |
36 | struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai; | 36 | struct snd_soc_dai *cpu_dai = rtd->cpu_dai; |
37 | int ret = 0; | 37 | int ret = 0; |
38 | 38 | ||
39 | /* set codec DAI configuration */ | 39 | /* set codec DAI configuration */ |
@@ -134,8 +134,10 @@ static const struct snd_kcontrol_new audio_out_mux = { | |||
134 | }; | 134 | }; |
135 | 135 | ||
136 | /* Logic for a aic3x as connected on the s6105 ip camera ref design */ | 136 | /* Logic for a aic3x as connected on the s6105 ip camera ref design */ |
137 | static int s6105_aic3x_init(struct snd_soc_codec *codec) | 137 | static int s6105_aic3x_init(struct snd_soc_pcm_runtime *rtd) |
138 | { | 138 | { |
139 | struct snd_soc_codec *codec = rtd->codec; | ||
140 | |||
139 | /* Add s6105 specific widgets */ | 141 | /* Add s6105 specific widgets */ |
140 | snd_soc_dapm_new_controls(codec, aic3x_dapm_widgets, | 142 | snd_soc_dapm_new_controls(codec, aic3x_dapm_widgets, |
141 | ARRAY_SIZE(aic3x_dapm_widgets)); | 143 | ARRAY_SIZE(aic3x_dapm_widgets)); |
@@ -165,7 +167,7 @@ static int s6105_aic3x_init(struct snd_soc_codec *codec) | |||
165 | 167 | ||
166 | snd_soc_dapm_sync(codec); | 168 | snd_soc_dapm_sync(codec); |
167 | 169 | ||
168 | snd_ctl_add(codec->card, snd_ctl_new1(&audio_out_mux, codec)); | 170 | snd_ctl_add(codec->snd_card, snd_ctl_new1(&audio_out_mux, codec)); |
169 | 171 | ||
170 | return 0; | 172 | return 0; |
171 | } | 173 | } |
@@ -174,8 +176,10 @@ static int s6105_aic3x_init(struct snd_soc_codec *codec) | |||
174 | static struct snd_soc_dai_link s6105_dai = { | 176 | static struct snd_soc_dai_link s6105_dai = { |
175 | .name = "TLV320AIC31", | 177 | .name = "TLV320AIC31", |
176 | .stream_name = "AIC31", | 178 | .stream_name = "AIC31", |
177 | .cpu_dai = &s6000_i2s_dai, | 179 | .cpu_dai_name = "s6000-i2s", |
178 | .codec_dai = &aic3x_dai, | 180 | .codec_dai_name = "tlv320aic3x-hifi", |
181 | .platform_name = "s6000-pcm-audio", | ||
182 | .codec_name = "tlv320aic3x-codec.0-001a", | ||
179 | .init = s6105_aic3x_init, | 183 | .init = s6105_aic3x_init, |
180 | .ops = &s6105_ops, | 184 | .ops = &s6105_ops, |
181 | }; | 185 | }; |
@@ -183,22 +187,10 @@ static struct snd_soc_dai_link s6105_dai = { | |||
183 | /* s6105 audio machine driver */ | 187 | /* s6105 audio machine driver */ |
184 | static struct snd_soc_card snd_soc_card_s6105 = { | 188 | static struct snd_soc_card snd_soc_card_s6105 = { |
185 | .name = "Stretch IP Camera", | 189 | .name = "Stretch IP Camera", |
186 | .platform = &s6000_soc_platform, | ||
187 | .dai_link = &s6105_dai, | 190 | .dai_link = &s6105_dai, |
188 | .num_links = 1, | 191 | .num_links = 1, |
189 | }; | 192 | }; |
190 | 193 | ||
191 | /* s6105 audio private data */ | ||
192 | static struct aic3x_setup_data s6105_aic3x_setup = { | ||
193 | }; | ||
194 | |||
195 | /* s6105 audio subsystem */ | ||
196 | static struct snd_soc_device s6105_snd_devdata = { | ||
197 | .card = &snd_soc_card_s6105, | ||
198 | .codec_dev = &soc_codec_dev_aic3x, | ||
199 | .codec_data = &s6105_aic3x_setup, | ||
200 | }; | ||
201 | |||
202 | static struct s6000_snd_platform_data __initdata s6105_snd_data = { | 194 | static struct s6000_snd_platform_data __initdata s6105_snd_data = { |
203 | .wide = 0, | 195 | .wide = 0, |
204 | .channel_in = 0, | 196 | .channel_in = 0, |
@@ -227,8 +219,7 @@ static int __init s6105_init(void) | |||
227 | if (!s6105_snd_device) | 219 | if (!s6105_snd_device) |
228 | return -ENOMEM; | 220 | return -ENOMEM; |
229 | 221 | ||
230 | platform_set_drvdata(s6105_snd_device, &s6105_snd_devdata); | 222 | platform_set_drvdata(s6105_snd_device, &snd_soc_card_s6105); |
231 | s6105_snd_devdata.dev = &s6105_snd_device->dev; | ||
232 | platform_device_add_data(s6105_snd_device, &s6105_snd_data, | 223 | platform_device_add_data(s6105_snd_device, &s6105_snd_data, |
233 | sizeof(s6105_snd_data)); | 224 | sizeof(s6105_snd_data)); |
234 | 225 | ||