diff options
author | Jiri Kosina <jkosina@suse.cz> | 2010-06-16 12:08:13 -0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2010-06-16 12:08:13 -0400 |
commit | f1bbbb6912662b9f6070c5bfc4ca9eb1f06a9d5b (patch) | |
tree | c2c130a74be25b0b2dff992e1a195e2728bdaadd /sound/soc | |
parent | fd0961ff67727482bb20ca7e8ea97b83e9de2ddb (diff) | |
parent | 7e27d6e778cd87b6f2415515d7127eba53fe5d02 (diff) |
Merge branch 'master' into for-next
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/codecs/wm8350.c | 4 | ||||
-rw-r--r-- | sound/soc/codecs/wm8400.c | 18 | ||||
-rw-r--r-- | sound/soc/codecs/wm8990.c | 18 | ||||
-rw-r--r-- | sound/soc/fsl/mpc5200_dma.c | 6 | ||||
-rw-r--r-- | sound/soc/fsl/mpc5200_psc_ac97.c | 2 | ||||
-rw-r--r-- | sound/soc/fsl/mpc5200_psc_i2s.c | 4 | ||||
-rw-r--r-- | sound/soc/fsl/mpc8610_hpcd.c | 10 | ||||
-rw-r--r-- | sound/soc/imx/Kconfig | 11 | ||||
-rw-r--r-- | sound/soc/imx/imx-pcm-dma-mx2.c | 7 | ||||
-rw-r--r-- | sound/soc/pxa/spitz.c | 36 | ||||
-rw-r--r-- | sound/soc/sh/siu.h | 3 | ||||
-rw-r--r-- | sound/soc/sh/siu_dai.c | 2 | ||||
-rw-r--r-- | sound/soc/sh/siu_pcm.c | 9 | ||||
-rw-r--r-- | sound/soc/txx9/txx9aclc.c | 7 |
14 files changed, 57 insertions, 80 deletions
diff --git a/sound/soc/codecs/wm8350.c b/sound/soc/codecs/wm8350.c index 8ae20208e7be..0221ca79b3ae 100644 --- a/sound/soc/codecs/wm8350.c +++ b/sound/soc/codecs/wm8350.c | |||
@@ -426,8 +426,8 @@ static const struct soc_enum wm8350_enum[] = { | |||
426 | SOC_ENUM_SINGLE(WM8350_INPUT_MIXER_VOLUME, 15, 2, wm8350_lr), | 426 | SOC_ENUM_SINGLE(WM8350_INPUT_MIXER_VOLUME, 15, 2, wm8350_lr), |
427 | }; | 427 | }; |
428 | 428 | ||
429 | static DECLARE_TLV_DB_LINEAR(pre_amp_tlv, -1200, 3525); | 429 | static DECLARE_TLV_DB_SCALE(pre_amp_tlv, -1200, 3525, 0); |
430 | static DECLARE_TLV_DB_LINEAR(out_pga_tlv, -5700, 600); | 430 | static DECLARE_TLV_DB_SCALE(out_pga_tlv, -5700, 600, 0); |
431 | static DECLARE_TLV_DB_SCALE(dac_pcm_tlv, -7163, 36, 1); | 431 | static DECLARE_TLV_DB_SCALE(dac_pcm_tlv, -7163, 36, 1); |
432 | static DECLARE_TLV_DB_SCALE(adc_pcm_tlv, -12700, 50, 1); | 432 | static DECLARE_TLV_DB_SCALE(adc_pcm_tlv, -12700, 50, 1); |
433 | static DECLARE_TLV_DB_SCALE(out_mix_tlv, -1500, 300, 1); | 433 | static DECLARE_TLV_DB_SCALE(out_mix_tlv, -1500, 300, 1); |
diff --git a/sound/soc/codecs/wm8400.c b/sound/soc/codecs/wm8400.c index 7f5d080536a0..8f294066b0ed 100644 --- a/sound/soc/codecs/wm8400.c +++ b/sound/soc/codecs/wm8400.c | |||
@@ -107,21 +107,21 @@ static void wm8400_codec_reset(struct snd_soc_codec *codec) | |||
107 | wm8400_reset_codec_reg_cache(wm8400->wm8400); | 107 | wm8400_reset_codec_reg_cache(wm8400->wm8400); |
108 | } | 108 | } |
109 | 109 | ||
110 | static const DECLARE_TLV_DB_LINEAR(rec_mix_tlv, -1500, 600); | 110 | static const DECLARE_TLV_DB_SCALE(rec_mix_tlv, -1500, 600, 0); |
111 | 111 | ||
112 | static const DECLARE_TLV_DB_LINEAR(in_pga_tlv, -1650, 3000); | 112 | static const DECLARE_TLV_DB_SCALE(in_pga_tlv, -1650, 3000, 0); |
113 | 113 | ||
114 | static const DECLARE_TLV_DB_LINEAR(out_mix_tlv, -2100, 0); | 114 | static const DECLARE_TLV_DB_SCALE(out_mix_tlv, -2100, 0, 0); |
115 | 115 | ||
116 | static const DECLARE_TLV_DB_LINEAR(out_pga_tlv, -7300, 600); | 116 | static const DECLARE_TLV_DB_SCALE(out_pga_tlv, -7300, 600, 0); |
117 | 117 | ||
118 | static const DECLARE_TLV_DB_LINEAR(out_omix_tlv, -600, 0); | 118 | static const DECLARE_TLV_DB_SCALE(out_omix_tlv, -600, 0, 0); |
119 | 119 | ||
120 | static const DECLARE_TLV_DB_LINEAR(out_dac_tlv, -7163, 0); | 120 | static const DECLARE_TLV_DB_SCALE(out_dac_tlv, -7163, 0, 0); |
121 | 121 | ||
122 | static const DECLARE_TLV_DB_LINEAR(in_adc_tlv, -7163, 1763); | 122 | static const DECLARE_TLV_DB_SCALE(in_adc_tlv, -7163, 1763, 0); |
123 | 123 | ||
124 | static const DECLARE_TLV_DB_LINEAR(out_sidetone_tlv, -3600, 0); | 124 | static const DECLARE_TLV_DB_SCALE(out_sidetone_tlv, -3600, 0, 0); |
125 | 125 | ||
126 | static int wm8400_outpga_put_volsw_vu(struct snd_kcontrol *kcontrol, | 126 | static int wm8400_outpga_put_volsw_vu(struct snd_kcontrol *kcontrol, |
127 | struct snd_ctl_elem_value *ucontrol) | 127 | struct snd_ctl_elem_value *ucontrol) |
@@ -440,7 +440,7 @@ static int outmixer_event (struct snd_soc_dapm_widget *w, | |||
440 | /* INMIX dB values */ | 440 | /* INMIX dB values */ |
441 | static const unsigned int in_mix_tlv[] = { | 441 | static const unsigned int in_mix_tlv[] = { |
442 | TLV_DB_RANGE_HEAD(1), | 442 | TLV_DB_RANGE_HEAD(1), |
443 | 0,7, TLV_DB_LINEAR_ITEM(-1200, 600), | 443 | 0,7, TLV_DB_SCALE_ITEM(-1200, 600, 0), |
444 | }; | 444 | }; |
445 | 445 | ||
446 | /* Left In PGA Connections */ | 446 | /* Left In PGA Connections */ |
diff --git a/sound/soc/codecs/wm8990.c b/sound/soc/codecs/wm8990.c index 7b536d923ea9..c018772cc430 100644 --- a/sound/soc/codecs/wm8990.c +++ b/sound/soc/codecs/wm8990.c | |||
@@ -111,21 +111,21 @@ static const u16 wm8990_reg[] = { | |||
111 | 111 | ||
112 | #define wm8990_reset(c) snd_soc_write(c, WM8990_RESET, 0) | 112 | #define wm8990_reset(c) snd_soc_write(c, WM8990_RESET, 0) |
113 | 113 | ||
114 | static const DECLARE_TLV_DB_LINEAR(rec_mix_tlv, -1500, 600); | 114 | static const DECLARE_TLV_DB_SCALE(rec_mix_tlv, -1500, 600, 0); |
115 | 115 | ||
116 | static const DECLARE_TLV_DB_LINEAR(in_pga_tlv, -1650, 3000); | 116 | static const DECLARE_TLV_DB_SCALE(in_pga_tlv, -1650, 3000, 0); |
117 | 117 | ||
118 | static const DECLARE_TLV_DB_LINEAR(out_mix_tlv, 0, -2100); | 118 | static const DECLARE_TLV_DB_SCALE(out_mix_tlv, 0, -2100, 0); |
119 | 119 | ||
120 | static const DECLARE_TLV_DB_LINEAR(out_pga_tlv, -7300, 600); | 120 | static const DECLARE_TLV_DB_SCALE(out_pga_tlv, -7300, 600, 0); |
121 | 121 | ||
122 | static const DECLARE_TLV_DB_LINEAR(out_omix_tlv, -600, 0); | 122 | static const DECLARE_TLV_DB_SCALE(out_omix_tlv, -600, 0, 0); |
123 | 123 | ||
124 | static const DECLARE_TLV_DB_LINEAR(out_dac_tlv, -7163, 0); | 124 | static const DECLARE_TLV_DB_SCALE(out_dac_tlv, -7163, 0, 0); |
125 | 125 | ||
126 | static const DECLARE_TLV_DB_LINEAR(in_adc_tlv, -7163, 1763); | 126 | static const DECLARE_TLV_DB_SCALE(in_adc_tlv, -7163, 1763, 0); |
127 | 127 | ||
128 | static const DECLARE_TLV_DB_LINEAR(out_sidetone_tlv, -3600, 0); | 128 | static const DECLARE_TLV_DB_SCALE(out_sidetone_tlv, -3600, 0, 0); |
129 | 129 | ||
130 | static int wm899x_outpga_put_volsw_vu(struct snd_kcontrol *kcontrol, | 130 | static int wm899x_outpga_put_volsw_vu(struct snd_kcontrol *kcontrol, |
131 | struct snd_ctl_elem_value *ucontrol) | 131 | struct snd_ctl_elem_value *ucontrol) |
@@ -451,7 +451,7 @@ static int outmixer_event(struct snd_soc_dapm_widget *w, | |||
451 | /* INMIX dB values */ | 451 | /* INMIX dB values */ |
452 | static const unsigned int in_mix_tlv[] = { | 452 | static const unsigned int in_mix_tlv[] = { |
453 | TLV_DB_RANGE_HEAD(1), | 453 | TLV_DB_RANGE_HEAD(1), |
454 | 0, 7, TLV_DB_LINEAR_ITEM(-1200, 600), | 454 | 0, 7, TLV_DB_SCALE_ITEM(-1200, 600, 0), |
455 | }; | 455 | }; |
456 | 456 | ||
457 | /* Left In PGA Connections */ | 457 | /* Left In PGA Connections */ |
diff --git a/sound/soc/fsl/mpc5200_dma.c b/sound/soc/fsl/mpc5200_dma.c index d639e55c5124..1d4e7164e80a 100644 --- a/sound/soc/fsl/mpc5200_dma.c +++ b/sound/soc/fsl/mpc5200_dma.c | |||
@@ -380,8 +380,8 @@ int mpc5200_audio_dma_create(struct of_device *op) | |||
380 | int ret; | 380 | int ret; |
381 | 381 | ||
382 | /* Fetch the registers and IRQ of the PSC */ | 382 | /* Fetch the registers and IRQ of the PSC */ |
383 | irq = irq_of_parse_and_map(op->node, 0); | 383 | irq = irq_of_parse_and_map(op->dev.of_node, 0); |
384 | if (of_address_to_resource(op->node, 0, &res)) { | 384 | if (of_address_to_resource(op->dev.of_node, 0, &res)) { |
385 | dev_err(&op->dev, "Missing reg property\n"); | 385 | dev_err(&op->dev, "Missing reg property\n"); |
386 | return -ENODEV; | 386 | return -ENODEV; |
387 | } | 387 | } |
@@ -399,7 +399,7 @@ int mpc5200_audio_dma_create(struct of_device *op) | |||
399 | } | 399 | } |
400 | 400 | ||
401 | /* Get the PSC ID */ | 401 | /* Get the PSC ID */ |
402 | prop = of_get_property(op->node, "cell-index", &size); | 402 | prop = of_get_property(op->dev.of_node, "cell-index", &size); |
403 | if (!prop || size < sizeof *prop) { | 403 | if (!prop || size < sizeof *prop) { |
404 | ret = -ENODEV; | 404 | ret = -ENODEV; |
405 | goto out_free; | 405 | goto out_free; |
diff --git a/sound/soc/fsl/mpc5200_psc_ac97.c b/sound/soc/fsl/mpc5200_psc_ac97.c index 3dbc7f7cd7b9..e2ee220bfb7e 100644 --- a/sound/soc/fsl/mpc5200_psc_ac97.c +++ b/sound/soc/fsl/mpc5200_psc_ac97.c | |||
@@ -317,12 +317,12 @@ static struct of_device_id psc_ac97_match[] __devinitdata = { | |||
317 | MODULE_DEVICE_TABLE(of, psc_ac97_match); | 317 | MODULE_DEVICE_TABLE(of, psc_ac97_match); |
318 | 318 | ||
319 | static struct of_platform_driver psc_ac97_driver = { | 319 | static struct of_platform_driver psc_ac97_driver = { |
320 | .match_table = psc_ac97_match, | ||
321 | .probe = psc_ac97_of_probe, | 320 | .probe = psc_ac97_of_probe, |
322 | .remove = __devexit_p(psc_ac97_of_remove), | 321 | .remove = __devexit_p(psc_ac97_of_remove), |
323 | .driver = { | 322 | .driver = { |
324 | .name = "mpc5200-psc-ac97", | 323 | .name = "mpc5200-psc-ac97", |
325 | .owner = THIS_MODULE, | 324 | .owner = THIS_MODULE, |
325 | .of_match_table = psc_ac97_match, | ||
326 | }, | 326 | }, |
327 | }; | 327 | }; |
328 | 328 | ||
diff --git a/sound/soc/fsl/mpc5200_psc_i2s.c b/sound/soc/fsl/mpc5200_psc_i2s.c index ce8de90fb94a..4f455bd6851f 100644 --- a/sound/soc/fsl/mpc5200_psc_i2s.c +++ b/sound/soc/fsl/mpc5200_psc_i2s.c | |||
@@ -181,7 +181,7 @@ static int __devinit psc_i2s_of_probe(struct of_device *op, | |||
181 | 181 | ||
182 | /* Check for the codec handle. If it is not present then we | 182 | /* Check for the codec handle. If it is not present then we |
183 | * are done */ | 183 | * are done */ |
184 | if (!of_get_property(op->node, "codec-handle", NULL)) | 184 | if (!of_get_property(op->dev.of_node, "codec-handle", NULL)) |
185 | return 0; | 185 | return 0; |
186 | 186 | ||
187 | /* Due to errata in the dma mode; need to line up enabling | 187 | /* Due to errata in the dma mode; need to line up enabling |
@@ -220,12 +220,12 @@ static struct of_device_id psc_i2s_match[] __devinitdata = { | |||
220 | MODULE_DEVICE_TABLE(of, psc_i2s_match); | 220 | MODULE_DEVICE_TABLE(of, psc_i2s_match); |
221 | 221 | ||
222 | static struct of_platform_driver psc_i2s_driver = { | 222 | static struct of_platform_driver psc_i2s_driver = { |
223 | .match_table = psc_i2s_match, | ||
224 | .probe = psc_i2s_of_probe, | 223 | .probe = psc_i2s_of_probe, |
225 | .remove = __devexit_p(psc_i2s_of_remove), | 224 | .remove = __devexit_p(psc_i2s_of_remove), |
226 | .driver = { | 225 | .driver = { |
227 | .name = "mpc5200-psc-i2s", | 226 | .name = "mpc5200-psc-i2s", |
228 | .owner = THIS_MODULE, | 227 | .owner = THIS_MODULE, |
228 | .of_match_table = psc_i2s_match, | ||
229 | }, | 229 | }, |
230 | }; | 230 | }; |
231 | 231 | ||
diff --git a/sound/soc/fsl/mpc8610_hpcd.c b/sound/soc/fsl/mpc8610_hpcd.c index 604a91fa31bc..3a501062c244 100644 --- a/sound/soc/fsl/mpc8610_hpcd.c +++ b/sound/soc/fsl/mpc8610_hpcd.c | |||
@@ -203,7 +203,7 @@ static struct snd_soc_ops mpc8610_hpcd_ops = { | |||
203 | static int mpc8610_hpcd_probe(struct of_device *ofdev, | 203 | static int mpc8610_hpcd_probe(struct of_device *ofdev, |
204 | const struct of_device_id *match) | 204 | const struct of_device_id *match) |
205 | { | 205 | { |
206 | struct device_node *np = ofdev->node; | 206 | struct device_node *np = ofdev->dev.of_node; |
207 | struct device_node *codec_np = NULL; | 207 | struct device_node *codec_np = NULL; |
208 | struct device_node *guts_np = NULL; | 208 | struct device_node *guts_np = NULL; |
209 | struct device_node *dma_np = NULL; | 209 | struct device_node *dma_np = NULL; |
@@ -580,9 +580,11 @@ static struct of_device_id mpc8610_hpcd_match[] = { | |||
580 | MODULE_DEVICE_TABLE(of, mpc8610_hpcd_match); | 580 | MODULE_DEVICE_TABLE(of, mpc8610_hpcd_match); |
581 | 581 | ||
582 | static struct of_platform_driver mpc8610_hpcd_of_driver = { | 582 | static struct of_platform_driver mpc8610_hpcd_of_driver = { |
583 | .owner = THIS_MODULE, | 583 | .driver = { |
584 | .name = "mpc8610_hpcd", | 584 | .name = "mpc8610_hpcd", |
585 | .match_table = mpc8610_hpcd_match, | 585 | .owner = THIS_MODULE, |
586 | .of_match_table = mpc8610_hpcd_match, | ||
587 | }, | ||
586 | .probe = mpc8610_hpcd_probe, | 588 | .probe = mpc8610_hpcd_probe, |
587 | .remove = mpc8610_hpcd_remove, | 589 | .remove = mpc8610_hpcd_remove, |
588 | }; | 590 | }; |
diff --git a/sound/soc/imx/Kconfig b/sound/soc/imx/Kconfig index eba9b9d257a1..252defea93b5 100644 --- a/sound/soc/imx/Kconfig +++ b/sound/soc/imx/Kconfig | |||
@@ -13,9 +13,18 @@ config SND_MXC_SOC_SSI | |||
13 | 13 | ||
14 | config SND_MXC_SOC_WM1133_EV1 | 14 | config SND_MXC_SOC_WM1133_EV1 |
15 | tristate "Audio on the the i.MX31ADS with WM1133-EV1 fitted" | 15 | tristate "Audio on the the i.MX31ADS with WM1133-EV1 fitted" |
16 | depends on SND_IMX_SOC && EXPERIMENTAL | 16 | depends on SND_IMX_SOC && MACH_MX31ADS_WM1133_EV1 && EXPERIMENTAL |
17 | select SND_SOC_WM8350 | 17 | select SND_SOC_WM8350 |
18 | select SND_MXC_SOC_SSI | 18 | select SND_MXC_SOC_SSI |
19 | help | 19 | help |
20 | Enable support for audio on the i.MX31ADS with the WM1133-EV1 | 20 | Enable support for audio on the i.MX31ADS with the WM1133-EV1 |
21 | PMIC board with WM8835x fitted. | 21 | PMIC board with WM8835x fitted. |
22 | |||
23 | config SND_SOC_PHYCORE_AC97 | ||
24 | tristate "SoC Audio support for Phytec phyCORE (and phyCARD) boards" | ||
25 | depends on MACH_PCM043 || MACH_PCA100 | ||
26 | select SND_MXC_SOC_SSI | ||
27 | select SND_SOC_WM9712 | ||
28 | help | ||
29 | Say Y if you want to add support for SoC audio on Phytec phyCORE | ||
30 | and phyCARD boards in AC97 mode | ||
diff --git a/sound/soc/imx/imx-pcm-dma-mx2.c b/sound/soc/imx/imx-pcm-dma-mx2.c index 2b31ac673ea4..05f19c9284f4 100644 --- a/sound/soc/imx/imx-pcm-dma-mx2.c +++ b/sound/soc/imx/imx-pcm-dma-mx2.c | |||
@@ -73,7 +73,8 @@ static void snd_imx_dma_err_callback(int channel, void *data, int err) | |||
73 | { | 73 | { |
74 | struct snd_pcm_substream *substream = data; | 74 | struct snd_pcm_substream *substream = data; |
75 | struct snd_soc_pcm_runtime *rtd = substream->private_data; | 75 | struct snd_soc_pcm_runtime *rtd = substream->private_data; |
76 | struct imx_pcm_dma_params *dma_params = rtd->dai->cpu_dai->dma_data; | 76 | struct imx_pcm_dma_params *dma_params = |
77 | snd_soc_dai_get_dma_data(rtd->dai->cpu_dai, substream); | ||
77 | struct snd_pcm_runtime *runtime = substream->runtime; | 78 | struct snd_pcm_runtime *runtime = substream->runtime; |
78 | struct imx_pcm_runtime_data *iprtd = runtime->private_data; | 79 | struct imx_pcm_runtime_data *iprtd = runtime->private_data; |
79 | int ret; | 80 | int ret; |
@@ -102,7 +103,7 @@ static int imx_ssi_dma_alloc(struct snd_pcm_substream *substream) | |||
102 | struct imx_pcm_runtime_data *iprtd = runtime->private_data; | 103 | struct imx_pcm_runtime_data *iprtd = runtime->private_data; |
103 | int ret; | 104 | int ret; |
104 | 105 | ||
105 | dma_params = snd_soc_get_dma_data(rtd->dai->cpu_dai, substream); | 106 | dma_params = snd_soc_dai_get_dma_data(rtd->dai->cpu_dai, substream); |
106 | 107 | ||
107 | iprtd->dma = imx_dma_request_by_prio(DRV_NAME, DMA_PRIO_HIGH); | 108 | iprtd->dma = imx_dma_request_by_prio(DRV_NAME, DMA_PRIO_HIGH); |
108 | if (iprtd->dma < 0) { | 109 | if (iprtd->dma < 0) { |
@@ -212,7 +213,7 @@ static int snd_imx_pcm_prepare(struct snd_pcm_substream *substream) | |||
212 | struct imx_pcm_runtime_data *iprtd = runtime->private_data; | 213 | struct imx_pcm_runtime_data *iprtd = runtime->private_data; |
213 | int err; | 214 | int err; |
214 | 215 | ||
215 | dma_params = snd_soc_get_dma_data(rtd->dai->cpu_dai, substream); | 216 | dma_params = snd_soc_dai_get_dma_data(rtd->dai->cpu_dai, substream); |
216 | 217 | ||
217 | iprtd->substream = substream; | 218 | iprtd->substream = substream; |
218 | iprtd->buf = (unsigned int *)substream->dma_buffer.area; | 219 | iprtd->buf = (unsigned int *)substream->dma_buffer.area; |
diff --git a/sound/soc/pxa/spitz.c b/sound/soc/pxa/spitz.c index 1941a357e8c4..d256f5f313b5 100644 --- a/sound/soc/pxa/spitz.c +++ b/sound/soc/pxa/spitz.c | |||
@@ -328,38 +328,6 @@ static struct snd_soc_device spitz_snd_devdata = { | |||
328 | .codec_dev = &soc_codec_dev_wm8750, | 328 | .codec_dev = &soc_codec_dev_wm8750, |
329 | }; | 329 | }; |
330 | 330 | ||
331 | /* | ||
332 | * FIXME: This is a temporary bodge to avoid cross-tree merge issues. | ||
333 | * New drivers should register the wm8750 I2C device in the machine | ||
334 | * setup code (under arch/arm for ARM systems). | ||
335 | */ | ||
336 | static int wm8750_i2c_register(void) | ||
337 | { | ||
338 | struct i2c_board_info info; | ||
339 | struct i2c_adapter *adapter; | ||
340 | struct i2c_client *client; | ||
341 | |||
342 | memset(&info, 0, sizeof(struct i2c_board_info)); | ||
343 | info.addr = 0x1b; | ||
344 | strlcpy(info.type, "wm8750", I2C_NAME_SIZE); | ||
345 | |||
346 | adapter = i2c_get_adapter(0); | ||
347 | if (!adapter) { | ||
348 | printk(KERN_ERR "can't get i2c adapter 0\n"); | ||
349 | return -ENODEV; | ||
350 | } | ||
351 | |||
352 | client = i2c_new_device(adapter, &info); | ||
353 | i2c_put_adapter(adapter); | ||
354 | if (!client) { | ||
355 | printk(KERN_ERR "can't add i2c device at 0x%x\n", | ||
356 | (unsigned int)info.addr); | ||
357 | return -ENODEV; | ||
358 | } | ||
359 | |||
360 | return 0; | ||
361 | } | ||
362 | |||
363 | static struct platform_device *spitz_snd_device; | 331 | static struct platform_device *spitz_snd_device; |
364 | 332 | ||
365 | static int __init spitz_init(void) | 333 | static int __init spitz_init(void) |
@@ -369,10 +337,6 @@ static int __init spitz_init(void) | |||
369 | if (!(machine_is_spitz() || machine_is_borzoi() || machine_is_akita())) | 337 | if (!(machine_is_spitz() || machine_is_borzoi() || machine_is_akita())) |
370 | return -ENODEV; | 338 | return -ENODEV; |
371 | 339 | ||
372 | ret = wm8750_i2c_setup(); | ||
373 | if (ret != 0) | ||
374 | return ret; | ||
375 | |||
376 | spitz_snd_device = platform_device_alloc("soc-audio", -1); | 340 | spitz_snd_device = platform_device_alloc("soc-audio", -1); |
377 | if (!spitz_snd_device) | 341 | if (!spitz_snd_device) |
378 | return -ENOMEM; | 342 | return -ENOMEM; |
diff --git a/sound/soc/sh/siu.h b/sound/soc/sh/siu.h index c0bfab8fed3d..492b1cae24cc 100644 --- a/sound/soc/sh/siu.h +++ b/sound/soc/sh/siu.h | |||
@@ -71,8 +71,7 @@ struct siu_firmware { | |||
71 | #include <linux/dmaengine.h> | 71 | #include <linux/dmaengine.h> |
72 | #include <linux/interrupt.h> | 72 | #include <linux/interrupt.h> |
73 | #include <linux/io.h> | 73 | #include <linux/io.h> |
74 | 74 | #include <linux/sh_dma.h> | |
75 | #include <asm/dmaengine.h> | ||
76 | 75 | ||
77 | #include <sound/core.h> | 76 | #include <sound/core.h> |
78 | #include <sound/pcm.h> | 77 | #include <sound/pcm.h> |
diff --git a/sound/soc/sh/siu_dai.c b/sound/soc/sh/siu_dai.c index d86ee1bfc03a..eeed5edd722b 100644 --- a/sound/soc/sh/siu_dai.c +++ b/sound/soc/sh/siu_dai.c | |||
@@ -588,6 +588,8 @@ static int siu_dai_prepare(struct snd_pcm_substream *substream, | |||
588 | ret = siu_dai_spbstart(port_info); | 588 | ret = siu_dai_spbstart(port_info); |
589 | if (ret < 0) | 589 | if (ret < 0) |
590 | goto fail; | 590 | goto fail; |
591 | } else { | ||
592 | ret = 0; | ||
591 | } | 593 | } |
592 | 594 | ||
593 | port_info->play_cap |= self; | 595 | port_info->play_cap |= self; |
diff --git a/sound/soc/sh/siu_pcm.c b/sound/soc/sh/siu_pcm.c index 8f85719212f9..36170be15aa7 100644 --- a/sound/soc/sh/siu_pcm.c +++ b/sound/soc/sh/siu_pcm.c | |||
@@ -31,7 +31,6 @@ | |||
31 | #include <sound/pcm_params.h> | 31 | #include <sound/pcm_params.h> |
32 | #include <sound/soc-dai.h> | 32 | #include <sound/soc-dai.h> |
33 | 33 | ||
34 | #include <asm/dmaengine.h> | ||
35 | #include <asm/siu.h> | 34 | #include <asm/siu.h> |
36 | 35 | ||
37 | #include "siu.h" | 36 | #include "siu.h" |
@@ -358,13 +357,13 @@ static int siu_pcm_open(struct snd_pcm_substream *ss) | |||
358 | if (ss->stream == SNDRV_PCM_STREAM_PLAYBACK) { | 357 | if (ss->stream == SNDRV_PCM_STREAM_PLAYBACK) { |
359 | siu_stream = &port_info->playback; | 358 | siu_stream = &port_info->playback; |
360 | param = &siu_stream->param; | 359 | param = &siu_stream->param; |
361 | param->slave_id = port ? SHDMA_SLAVE_SIUB_TX : | 360 | param->slave_id = port ? pdata->dma_slave_tx_b : |
362 | SHDMA_SLAVE_SIUA_TX; | 361 | pdata->dma_slave_tx_a; |
363 | } else { | 362 | } else { |
364 | siu_stream = &port_info->capture; | 363 | siu_stream = &port_info->capture; |
365 | param = &siu_stream->param; | 364 | param = &siu_stream->param; |
366 | param->slave_id = port ? SHDMA_SLAVE_SIUB_RX : | 365 | param->slave_id = port ? pdata->dma_slave_rx_b : |
367 | SHDMA_SLAVE_SIUA_RX; | 366 | pdata->dma_slave_rx_a; |
368 | } | 367 | } |
369 | 368 | ||
370 | param->dma_dev = pdata->dma_dev; | 369 | param->dma_dev = pdata->dma_dev; |
diff --git a/sound/soc/txx9/txx9aclc.c b/sound/soc/txx9/txx9aclc.c index 49cc7ea9a518..0e3452303ea6 100644 --- a/sound/soc/txx9/txx9aclc.c +++ b/sound/soc/txx9/txx9aclc.c | |||
@@ -160,7 +160,7 @@ static void txx9aclc_dma_tasklet(unsigned long data) | |||
160 | void __iomem *base = drvdata->base; | 160 | void __iomem *base = drvdata->base; |
161 | 161 | ||
162 | spin_unlock_irqrestore(&dmadata->dma_lock, flags); | 162 | spin_unlock_irqrestore(&dmadata->dma_lock, flags); |
163 | chan->device->device_terminate_all(chan); | 163 | chan->device->device_control(chan, DMA_TERMINATE_ALL, 0); |
164 | /* first time */ | 164 | /* first time */ |
165 | for (i = 0; i < NR_DMA_CHAIN; i++) { | 165 | for (i = 0; i < NR_DMA_CHAIN; i++) { |
166 | desc = txx9aclc_dma_submit(dmadata, | 166 | desc = txx9aclc_dma_submit(dmadata, |
@@ -268,7 +268,7 @@ static int txx9aclc_pcm_close(struct snd_pcm_substream *substream) | |||
268 | struct dma_chan *chan = dmadata->dma_chan; | 268 | struct dma_chan *chan = dmadata->dma_chan; |
269 | 269 | ||
270 | dmadata->frag_count = -1; | 270 | dmadata->frag_count = -1; |
271 | chan->device->device_terminate_all(chan); | 271 | chan->device->device_control(chan, DMA_TERMINATE_ALL, 0); |
272 | return 0; | 272 | return 0; |
273 | } | 273 | } |
274 | 274 | ||
@@ -397,7 +397,8 @@ static int txx9aclc_pcm_remove(struct platform_device *pdev) | |||
397 | struct dma_chan *chan = dmadata->dma_chan; | 397 | struct dma_chan *chan = dmadata->dma_chan; |
398 | if (chan) { | 398 | if (chan) { |
399 | dmadata->frag_count = -1; | 399 | dmadata->frag_count = -1; |
400 | chan->device->device_terminate_all(chan); | 400 | chan->device->device_control(chan, |
401 | DMA_TERMINATE_ALL, 0); | ||
401 | dma_release_channel(chan); | 402 | dma_release_channel(chan); |
402 | } | 403 | } |
403 | dev->dmadata[i].dma_chan = NULL; | 404 | dev->dmadata[i].dma_chan = NULL; |