• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 <linux/module.h>
20 #include <sound/soc.h>
21 
22 static struct snd_soc_card ln2440sbc;
23 
24 static struct snd_soc_dai_link ln2440sbc_dai[] = {
25 {
26 	.name = "AC97",
27 	.stream_name = "AC97 HiFi",
28 	.cpu_dai_name = "samsung-ac97",
29 	.codec_dai_name = "ac97-hifi",
30 	.codec_name = "ac97-codec",
31 	.platform_name = "samsung-ac97",
32 },
33 };
34 
35 static struct snd_soc_card ln2440sbc = {
36 	.name = "LN2440SBC",
37 	.owner = THIS_MODULE,
38 	.dai_link = ln2440sbc_dai,
39 	.num_links = ARRAY_SIZE(ln2440sbc_dai),
40 };
41 
42 static struct platform_device *ln2440sbc_snd_ac97_device;
43 
ln2440sbc_init(void)44 static int __init ln2440sbc_init(void)
45 {
46 	int ret;
47 
48 	ln2440sbc_snd_ac97_device = platform_device_alloc("soc-audio", -1);
49 	if (!ln2440sbc_snd_ac97_device)
50 		return -ENOMEM;
51 
52 	platform_set_drvdata(ln2440sbc_snd_ac97_device, &ln2440sbc);
53 	ret = platform_device_add(ln2440sbc_snd_ac97_device);
54 
55 	if (ret)
56 		platform_device_put(ln2440sbc_snd_ac97_device);
57 
58 	return ret;
59 }
60 
ln2440sbc_exit(void)61 static void __exit ln2440sbc_exit(void)
62 {
63 	platform_device_unregister(ln2440sbc_snd_ac97_device);
64 }
65 
66 module_init(ln2440sbc_init);
67 module_exit(ln2440sbc_exit);
68 
69 /* Module information */
70 MODULE_AUTHOR("Ivan Kuten");
71 MODULE_DESCRIPTION("ALSA SoC ALC650 LN2440SBC");
72 MODULE_LICENSE("GPL");
73