Commit | Line | Data |
---|---|---|
b2ce305d ML |
1 | /* |
2 | * DB1000/DB1500/DB1100 ASoC audio fabric support code. | |
3 | * | |
4 | * (c) 2011 Manuel Lauss <manuel.lauss@googlemail.com> | |
5 | * | |
6 | */ | |
7 | ||
8 | #include <linux/module.h> | |
9 | #include <linux/moduleparam.h> | |
10 | #include <linux/timer.h> | |
11 | #include <linux/interrupt.h> | |
12 | #include <linux/platform_device.h> | |
13 | #include <sound/core.h> | |
14 | #include <sound/pcm.h> | |
15 | #include <sound/soc.h> | |
16 | #include <asm/mach-au1x00/au1000.h> | |
17 | #include <asm/mach-db1x00/bcsr.h> | |
18 | ||
19 | #include "psc.h" | |
20 | ||
21 | static struct snd_soc_dai_link db1000_ac97_dai = { | |
22 | .name = "AC97", | |
23 | .stream_name = "AC97 HiFi", | |
24 | .codec_dai_name = "ac97-hifi", | |
25 | .cpu_dai_name = "alchemy-ac97c", | |
26 | .platform_name = "alchemy-pcm-dma.0", | |
27 | .codec_name = "ac97-codec", | |
28 | }; | |
29 | ||
30 | static struct snd_soc_card db1000_ac97 = { | |
31 | .name = "DB1000_AC97", | |
662d4e5c | 32 | .owner = THIS_MODULE, |
b2ce305d ML |
33 | .dai_link = &db1000_ac97_dai, |
34 | .num_links = 1, | |
35 | }; | |
36 | ||
5c658be0 | 37 | static int db1000_audio_probe(struct platform_device *pdev) |
b2ce305d ML |
38 | { |
39 | struct snd_soc_card *card = &db1000_ac97; | |
40 | card->dev = &pdev->dev; | |
41 | return snd_soc_register_card(card); | |
42 | } | |
43 | ||
5c658be0 | 44 | static int db1000_audio_remove(struct platform_device *pdev) |
b2ce305d ML |
45 | { |
46 | struct snd_soc_card *card = platform_get_drvdata(pdev); | |
47 | snd_soc_unregister_card(card); | |
48 | return 0; | |
49 | } | |
50 | ||
51 | static struct platform_driver db1000_audio_driver = { | |
52 | .driver = { | |
53 | .name = "db1000-audio", | |
b2ce305d ML |
54 | .pm = &snd_soc_pm_ops, |
55 | }, | |
56 | .probe = db1000_audio_probe, | |
5c658be0 | 57 | .remove = db1000_audio_remove, |
b2ce305d ML |
58 | }; |
59 | ||
8a124f9c | 60 | module_platform_driver(db1000_audio_driver); |
b2ce305d ML |
61 | |
62 | MODULE_LICENSE("GPL"); | |
63 | MODULE_DESCRIPTION("DB1000/DB1500/DB1100 ASoC audio"); | |
64 | MODULE_AUTHOR("Manuel Lauss"); |