Initial commit
[kernel/linux-3.0.git] / sound / soc / samsung / ln2440sbc_alc650.c
1 /*
2  * SoC audio for ln2440sbc
3  *
4  * Copyright 2007 KonekTel, a.s.
5  * Author: Ivan Kuten
6  *         ivan.kuten@promwad.com
7  *
8  * Heavily based on smdk2443_wm9710.c
9  * Copyright 2007 Wolfson Microelectronics PLC.
10  * Author: Graeme Gregory
11  *         graeme.gregory@wolfsonmicro.com or linux@wolfsonmicro.com
12  *
13  *  This program is free software; you can redistribute it and/or modify
14  *  it under the terms of the GNU General Public License version 2 as
15  *  published by the Free Software Foundation.
16  *
17  */
18
19 #include <sound/soc.h>
20
21 static struct snd_soc_card ln2440sbc;
22
23 static struct snd_soc_dai_link ln2440sbc_dai[] = {
24 {
25         .name = "AC97",
26         .stream_name = "AC97 HiFi",
27         .cpu_dai_name = "samsung-ac97",
28         .codec_dai_name = "ac97-hifi",
29         .codec_name = "ac97-codec",
30         .platform_name = "samsung-audio",
31 },
32 };
33
34 static struct snd_soc_card ln2440sbc = {
35         .name = "LN2440SBC",
36         .dai_link = ln2440sbc_dai,
37         .num_links = ARRAY_SIZE(ln2440sbc_dai),
38 };
39
40 static struct platform_device *ln2440sbc_snd_ac97_device;
41
42 static int __init ln2440sbc_init(void)
43 {
44         int ret;
45
46         ln2440sbc_snd_ac97_device = platform_device_alloc("soc-audio", -1);
47         if (!ln2440sbc_snd_ac97_device)
48                 return -ENOMEM;
49
50         platform_set_drvdata(ln2440sbc_snd_ac97_device, &ln2440sbc);
51         ret = platform_device_add(ln2440sbc_snd_ac97_device);
52
53         if (ret)
54                 platform_device_put(ln2440sbc_snd_ac97_device);
55
56         return ret;
57 }
58
59 static void __exit ln2440sbc_exit(void)
60 {
61         platform_device_unregister(ln2440sbc_snd_ac97_device);
62 }
63
64 module_init(ln2440sbc_init);
65 module_exit(ln2440sbc_exit);
66
67 /* Module information */
68 MODULE_AUTHOR("Ivan Kuten");
69 MODULE_DESCRIPTION("ALSA SoC ALC650 LN2440SBC");
70 MODULE_LICENSE("GPL");