Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
sound
soc
omap
omap-hdmi-card.c
Go to the documentation of this file.
1
/*
2
* omap-hdmi-card.c
3
*
4
* OMAP ALSA SoC machine driver for TI OMAP HDMI
5
* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
6
* Author: Ricardo Neri <
[email protected]
>
7
*
8
* This program is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU General Public License
10
* version 2 as published by the Free Software Foundation.
11
*
12
* This program is distributed in the hope that it will be useful, but
13
* WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with this program; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20
* 02110-1301 USA
21
*
22
*/
23
24
#include <linux/module.h>
25
#include <
sound/pcm.h
>
26
#include <
sound/soc.h
>
27
#include <
asm/mach-types.h
>
28
#include <
video/omapdss.h
>
29
30
#define DRV_NAME "omap-hdmi-audio"
31
32
static
struct
snd_soc_dai_link
omap_hdmi_dai = {
33
.name =
"HDMI"
,
34
.stream_name =
"HDMI"
,
35
.cpu_dai_name =
"omap-hdmi-audio-dai"
,
36
.platform_name =
"omap-pcm-audio"
,
37
.codec_name =
"hdmi-audio-codec"
,
38
.codec_dai_name =
"omap-hdmi-hifi"
,
39
};
40
41
static
struct
snd_soc_card
snd_soc_omap_hdmi = {
42
.name =
"OMAPHDMI"
,
43
.owner =
THIS_MODULE
,
44
.dai_link = &omap_hdmi_dai,
45
.num_links = 1,
46
};
47
48
static
__devinit
int
omap_hdmi_probe(
struct
platform_device
*pdev)
49
{
50
struct
snd_soc_card
*
card
= &snd_soc_omap_hdmi;
51
int
ret
;
52
53
card->
dev
= &pdev->
dev
;
54
55
ret =
snd_soc_register_card
(card);
56
if
(ret) {
57
dev_err
(&pdev->
dev
,
"snd_soc_register_card failed (%d)\n"
, ret);
58
card->
dev
=
NULL
;
59
return
ret
;
60
}
61
return
0;
62
}
63
64
static
int
__devexit
omap_hdmi_remove(
struct
platform_device
*pdev)
65
{
66
struct
snd_soc_card
*card = platform_get_drvdata(pdev);
67
68
snd_soc_unregister_card
(card);
69
card->
dev
=
NULL
;
70
return
0;
71
}
72
73
static
struct
platform_driver
omap_hdmi_driver = {
74
.driver = {
75
.name =
DRV_NAME
,
76
.owner =
THIS_MODULE
,
77
},
78
.probe = omap_hdmi_probe,
79
.remove =
__devexit_p
(omap_hdmi_remove),
80
};
81
82
module_platform_driver
(omap_hdmi_driver);
83
84
MODULE_AUTHOR
(
"Ricardo Neri <
[email protected]
>"
);
85
MODULE_DESCRIPTION
(
"OMAP HDMI machine ASoC driver"
);
86
MODULE_LICENSE
(
"GPL"
);
87
MODULE_ALIAS
(
"platform:"
DRV_NAME
);
Generated on Thu Jan 10 2013 15:08:18 for Linux Kernel by
1.8.2