~ubuntu-branches/ubuntu/precise/linux-lowlatency/precise

« back to all changes in this revision

Viewing changes to sound/soc/au1x/db1000.c

  • Committer: Package Import Robot
  • Author(s): Alessio Igor Bogani
  • Date: 2011-10-26 11:13:05 UTC
  • Revision ID: package-import@ubuntu.com-20111026111305-tz023xykf0i6eosh
Tags: upstream-3.2.0
ImportĀ upstreamĀ versionĀ 3.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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",
 
32
        .dai_link       = &db1000_ac97_dai,
 
33
        .num_links      = 1,
 
34
};
 
35
 
 
36
static int __devinit db1000_audio_probe(struct platform_device *pdev)
 
37
{
 
38
        struct snd_soc_card *card = &db1000_ac97;
 
39
        card->dev = &pdev->dev;
 
40
        return snd_soc_register_card(card);
 
41
}
 
42
 
 
43
static int __devexit db1000_audio_remove(struct platform_device *pdev)
 
44
{
 
45
        struct snd_soc_card *card = platform_get_drvdata(pdev);
 
46
        snd_soc_unregister_card(card);
 
47
        return 0;
 
48
}
 
49
 
 
50
static struct platform_driver db1000_audio_driver = {
 
51
        .driver = {
 
52
                .name   = "db1000-audio",
 
53
                .owner  = THIS_MODULE,
 
54
                .pm     = &snd_soc_pm_ops,
 
55
        },
 
56
        .probe          = db1000_audio_probe,
 
57
        .remove         = __devexit_p(db1000_audio_remove),
 
58
};
 
59
 
 
60
static int __init db1000_audio_load(void)
 
61
{
 
62
        return platform_driver_register(&db1000_audio_driver);
 
63
}
 
64
 
 
65
static void __exit db1000_audio_unload(void)
 
66
{
 
67
        platform_driver_unregister(&db1000_audio_driver);
 
68
}
 
69
 
 
70
module_init(db1000_audio_load);
 
71
module_exit(db1000_audio_unload);
 
72
 
 
73
MODULE_LICENSE("GPL");
 
74
MODULE_DESCRIPTION("DB1000/DB1500/DB1100 ASoC audio");
 
75
MODULE_AUTHOR("Manuel Lauss");