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
usb
6fire
control.h
Go to the documentation of this file.
1
/*
2
* Linux driver for TerraTec DMX 6Fire USB
3
*
4
* Author: Torsten Schenk <
[email protected]
>
5
* Created: Jan 01, 2011
6
* Copyright: (C) Torsten Schenk
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
#ifndef USB6FIRE_CONTROL_H
15
#define USB6FIRE_CONTROL_H
16
17
#include "
common.h
"
18
19
enum
{
20
CONTROL_MAX_ELEMENTS
= 32
21
};
22
23
enum
{
24
CONTROL_RATE_44KHZ
,
25
CONTROL_RATE_48KHZ
,
26
CONTROL_RATE_88KHZ
,
27
CONTROL_RATE_96KHZ
,
28
CONTROL_RATE_176KHZ
,
29
CONTROL_RATE_192KHZ
,
30
CONTROL_N_RATES
31
};
32
33
struct
control_runtime
{
34
int
(*
update_streaming
)(
struct
control_runtime
*rt);
35
int
(*
set_rate
)(
struct
control_runtime
*rt,
int
rate
);
36
int
(*
set_channels
)(
struct
control_runtime
*rt,
int
n_analog_out,
37
int
n_analog_in,
bool
spdif_out,
bool
spdif_in);
38
39
struct
sfire_chip
*
chip
;
40
41
struct
snd_kcontrol
*
element
[
CONTROL_MAX_ELEMENTS
];
42
bool
opt_coax_switch
;
43
bool
line_phono_switch
;
44
bool
digital_thru_switch
;
45
bool
usb_streaming
;
46
u8
output_vol
[6];
47
u8
ovol_updated
;
48
u8
output_mute
;
49
s8
input_vol
[2];
50
u8
ivol_updated
;
51
};
52
53
int
__devinit
usb6fire_control_init
(
struct
sfire_chip
*
chip
);
54
void
usb6fire_control_abort
(
struct
sfire_chip
*
chip
);
55
void
usb6fire_control_destroy
(
struct
sfire_chip
*
chip
);
56
#endif
/* USB6FIRE_CONTROL_H */
57
Generated on Thu Jan 10 2013 13:00:39 for Linux Kernel by
1.8.2