summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWallace Wang <r59996@freescale.com>2008-03-27 14:46:02 +0800
committerDaniel Schaeffer <daniel.schaeffer@timesys.com>2008-08-25 15:20:55 -0400
commit1fd21c8f13d6e33042d5f15b08f7de49693cc8f5 (patch)
treeb5749866b58a35f373b58e23ab78f8d00db6e2a0
parent6bbab176d63e2228ee81107c95483c5f5072c8a2 (diff)
ENGR00070093 Add support for S20_LE and S24_LE audio format in SPDIF
Add the support for S20_LE and S24_LE audio format in spdif driver Signed-off-by: Wallace Wang <r59996@freescale.com>
-rw-r--r--arch/arm/mach-mx37/devices.c2
-rw-r--r--sound/arm/mxc-alsa-spdif.c6
2 files changed, 5 insertions, 3 deletions
diff --git a/arch/arm/mach-mx37/devices.c b/arch/arm/mach-mx37/devices.c
index bf225ebfed0e..cbe9f9649fe3 100644
--- a/arch/arm/mach-mx37/devices.c
+++ b/arch/arm/mach-mx37/devices.c
@@ -581,7 +581,7 @@ static struct platform_device mxc_alsa_spdif_device = {
.platform_data = &mxc_spdif_data,
},
.num_resources = ARRAY_SIZE(spdif_resources),
- .resource = &spdif_resources,
+ .resource = spdif_resources,
};
static inline void mxc_init_spdif(void)
diff --git a/sound/arm/mxc-alsa-spdif.c b/sound/arm/mxc-alsa-spdif.c
index 13ab28da7032..020ec9703725 100644
--- a/sound/arm/mxc-alsa-spdif.c
+++ b/sound/arm/mxc-alsa-spdif.c
@@ -752,7 +752,9 @@ static struct snd_pcm_hardware snd_spdif_playback_hw = {
SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_HALF_DUPLEX |
SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_PAUSE |
SNDRV_PCM_INFO_RESUME),
- .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE,
+ .formats =
+ SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |
+ SNDRV_PCM_FMTBIT_S24_LE,
.rates =
SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000,
.rate_min = 32000,
@@ -1043,7 +1045,7 @@ static int mxc_alsa_spdif_probe(struct platform_device
snd_ctl_new1(&snd_mxc_spdif_playback,
&mxc_spdif_control));
if (err < 0)
- return err;
+ goto nodev;
if (chip->mxc_spdif_tx)
spin_lock_init(&chip->s[SNDRV_PCM_STREAM_PLAYBACK].dma_lock);