diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-25 11:32:05 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-25 11:32:05 -0400 |
commit | 33081adf8b89d5a716d7e1c60171768d39795b39 (patch) | |
tree | 275de58bbbb5f7ddffcdc087844cfc7fbe4315be /sound/soc/s3c24xx/smdk_wm9713.c | |
parent | c55960499f810357a29659b32d6ea594abee9237 (diff) | |
parent | 506ecbca71d07fa327dd986be1682e90885678ee (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/s3c24xx/smdk_wm9713.c')
-rw-r--r-- | sound/soc/s3c24xx/smdk_wm9713.c | 42 |
1 files changed, 26 insertions, 16 deletions
diff --git a/sound/soc/s3c24xx/smdk_wm9713.c b/sound/soc/s3c24xx/smdk_wm9713.c index 5527b9e88c98..33ba8fdbcf07 100644 --- a/sound/soc/s3c24xx/smdk_wm9713.c +++ b/sound/soc/s3c24xx/smdk_wm9713.c | |||
@@ -15,7 +15,6 @@ | |||
15 | #include <linux/device.h> | 15 | #include <linux/device.h> |
16 | #include <sound/soc.h> | 16 | #include <sound/soc.h> |
17 | 17 | ||
18 | #include "../codecs/wm9713.h" | ||
19 | #include "s3c-dma.h" | 18 | #include "s3c-dma.h" |
20 | #include "s3c-ac97.h" | 19 | #include "s3c-ac97.h" |
21 | 20 | ||
@@ -46,46 +45,57 @@ static struct snd_soc_card smdk; | |||
46 | static struct snd_soc_dai_link smdk_dai = { | 45 | static struct snd_soc_dai_link smdk_dai = { |
47 | .name = "AC97", | 46 | .name = "AC97", |
48 | .stream_name = "AC97 PCM", | 47 | .stream_name = "AC97 PCM", |
49 | .cpu_dai = &s3c_ac97_dai[S3C_AC97_DAI_PCM], | 48 | .platform_name = "s3c24xx-pcm-audio", |
50 | .codec_dai = &wm9713_dai[WM9713_DAI_AC97_HIFI], | 49 | .cpu_dai_name = "s3c-ac97", |
50 | .codec_dai_name = "wm9713-hifi", | ||
51 | .codec_name = "wm9713-codec", | ||
51 | }; | 52 | }; |
52 | 53 | ||
53 | static struct snd_soc_card smdk = { | 54 | static struct snd_soc_card smdk = { |
54 | .name = "SMDK", | 55 | .name = "SMDK WM9713", |
55 | .platform = &s3c24xx_soc_platform, | ||
56 | .dai_link = &smdk_dai, | 56 | .dai_link = &smdk_dai, |
57 | .num_links = 1, | 57 | .num_links = 1, |
58 | }; | 58 | }; |
59 | 59 | ||
60 | static struct snd_soc_device smdk_snd_ac97_devdata = { | 60 | static struct platform_device *smdk_snd_wm9713_device; |
61 | .card = &smdk, | ||
62 | .codec_dev = &soc_codec_dev_wm9713, | ||
63 | }; | ||
64 | |||
65 | static struct platform_device *smdk_snd_ac97_device; | 61 | static struct platform_device *smdk_snd_ac97_device; |
66 | 62 | ||
67 | static int __init smdk_init(void) | 63 | static int __init smdk_init(void) |
68 | { | 64 | { |
69 | int ret; | 65 | int ret; |
70 | 66 | ||
71 | smdk_snd_ac97_device = platform_device_alloc("soc-audio", -1); | 67 | smdk_snd_wm9713_device = platform_device_alloc("wm9713-codec", -1); |
72 | if (!smdk_snd_ac97_device) | 68 | if (!smdk_snd_wm9713_device) |
73 | return -ENOMEM; | 69 | return -ENOMEM; |
74 | 70 | ||
75 | platform_set_drvdata(smdk_snd_ac97_device, | 71 | ret = platform_device_add(smdk_snd_wm9713_device); |
76 | &smdk_snd_ac97_devdata); | 72 | if (ret) |
77 | smdk_snd_ac97_devdata.dev = &smdk_snd_ac97_device->dev; | 73 | goto err; |
74 | |||
75 | smdk_snd_ac97_device = platform_device_alloc("soc-audio", -1); | ||
76 | if (!smdk_snd_ac97_device) { | ||
77 | ret = -ENOMEM; | ||
78 | goto err; | ||
79 | } | ||
80 | |||
81 | platform_set_drvdata(smdk_snd_ac97_device, &smdk); | ||
78 | 82 | ||
79 | ret = platform_device_add(smdk_snd_ac97_device); | 83 | ret = platform_device_add(smdk_snd_ac97_device); |
80 | if (ret) | 84 | if (ret) { |
81 | platform_device_put(smdk_snd_ac97_device); | 85 | platform_device_put(smdk_snd_ac97_device); |
86 | goto err; | ||
87 | } | ||
82 | 88 | ||
89 | return 0; | ||
90 | err: | ||
91 | platform_device_put(smdk_snd_wm9713_device); | ||
83 | return ret; | 92 | return ret; |
84 | } | 93 | } |
85 | 94 | ||
86 | static void __exit smdk_exit(void) | 95 | static void __exit smdk_exit(void) |
87 | { | 96 | { |
88 | platform_device_unregister(smdk_snd_ac97_device); | 97 | platform_device_unregister(smdk_snd_ac97_device); |
98 | platform_device_unregister(smdk_snd_wm9713_device); | ||
89 | } | 99 | } |
90 | 100 | ||
91 | module_init(smdk_init); | 101 | module_init(smdk_init); |