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
ac97_bus.c
Go to the documentation of this file.
1
/*
2
* Linux driver model AC97 bus interface
3
*
4
* Author: Nicolas Pitre
5
* Created: Jan 14, 2005
6
* Copyright: (C) MontaVista Software Inc.
7
*
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation; either version 2 of the License, or
11
* (at your option) any later version.
12
*/
13
14
#include <linux/module.h>
15
#include <
linux/init.h
>
16
#include <linux/device.h>
17
#include <linux/string.h>
18
#include <
sound/ac97_codec.h
>
19
20
/*
21
* Let drivers decide whether they want to support given codec from their
22
* probe method. Drivers have direct access to the struct snd_ac97
23
* structure and may decide based on the id field amongst other things.
24
*/
25
static
int
ac97_bus_match(
struct
device
*
dev
,
struct
device_driver
*drv)
26
{
27
return
1;
28
}
29
30
#ifdef CONFIG_PM
31
static
int
ac97_bus_suspend(
struct
device
*
dev
,
pm_message_t
state
)
32
{
33
int
ret
= 0;
34
35
if
(dev->
driver
&& dev->
driver
->suspend)
36
ret = dev->
driver
->suspend(dev, state);
37
38
return
ret
;
39
}
40
41
static
int
ac97_bus_resume(
struct
device
*dev)
42
{
43
int
ret = 0;
44
45
if
(dev->
driver
&& dev->
driver
->resume)
46
ret = dev->
driver
->resume(dev);
47
48
return
ret
;
49
}
50
#endif
/* CONFIG_PM */
51
52
struct
bus_type
ac97_bus_type
= {
53
.name =
"ac97"
,
54
.match = ac97_bus_match,
55
#ifdef CONFIG_PM
56
.suspend = ac97_bus_suspend,
57
.resume = ac97_bus_resume,
58
#endif
/* CONFIG_PM */
59
};
60
61
static
int
__init
ac97_bus_init(
void
)
62
{
63
return
bus_register
(&ac97_bus_type);
64
}
65
66
subsys_initcall
(ac97_bus_init);
67
68
static
void
__exit
ac97_bus_exit(
void
)
69
{
70
bus_unregister
(&ac97_bus_type);
71
}
72
73
module_exit
(ac97_bus_exit);
74
75
EXPORT_SYMBOL
(ac97_bus_type);
76
77
MODULE_LICENSE
(
"GPL"
);
Generated on Thu Jan 10 2013 15:03:27 for Linux Kernel by
1.8.2