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
pci
ctxfi
ctmixer.h
Go to the documentation of this file.
1
18
#ifndef CTMIXER_H
19
#define CTMIXER_H
20
21
#include "
ctatc.h
"
22
#include "
ctresource.h
"
23
24
#define INIT_VOL 0x1c00
25
26
enum
MIXER_PORT_T
{
27
MIX_WAVE_FRONT
,
28
MIX_WAVE_REAR
,
29
MIX_WAVE_CENTLFE
,
30
MIX_WAVE_SURROUND
,
31
MIX_SPDIF_OUT
,
32
MIX_PCMO_FRONT
,
33
MIX_MIC_IN
,
34
MIX_LINE_IN
,
35
MIX_SPDIF_IN
,
36
MIX_PCMI_FRONT
,
37
MIX_PCMI_REAR
,
38
MIX_PCMI_CENTLFE
,
39
MIX_PCMI_SURROUND
,
40
41
NUM_MIX_PORTS
42
};
43
44
/* alsa mixer descriptor */
45
struct
ct_mixer
{
46
struct
ct_atc
*
atc
;
47
48
void
**
amixers
;
/* amixer resources for volume control */
49
void
**
sums
;
/* sum resources for signal collection */
50
unsigned
int
switch_state
;
/* A bit-map to indicate state of switches */
51
52
int
(*
get_output_ports
)(
struct
ct_mixer
*mixer,
enum
MIXER_PORT_T
type
,
53
struct
rsc
**rleft,
struct
rsc
**rright);
54
55
int
(*
set_input_left
)(
struct
ct_mixer
*mixer,
56
enum
MIXER_PORT_T
type
,
struct
rsc
*
rsc
);
57
int
(*
set_input_right
)(
struct
ct_mixer
*mixer,
58
enum
MIXER_PORT_T
type
,
struct
rsc
*
rsc
);
59
#ifdef CONFIG_PM_SLEEP
60
int
(*
resume
)(
struct
ct_mixer
*mixer);
61
#endif
62
};
63
64
int
ct_alsa_mix_create
(
struct
ct_atc
*
atc
,
65
enum
CTALSADEVS
device
,
66
const
char
*
device_name
);
67
int
ct_mixer_create
(
struct
ct_atc
*
atc
,
struct
ct_mixer
**rmixer);
68
int
ct_mixer_destroy
(
struct
ct_mixer
*mixer);
69
70
#endif
/* CTMIXER_H */
Generated on Thu Jan 10 2013 15:06:04 for Linux Kernel by
1.8.2