xref: /linux/sound/usb/6fire/control.h (revision c6d43ba816d1cf1d125bfbfc938f2a28a87facf9)
1*c6d43ba8STorsten Schenk /*
2*c6d43ba8STorsten Schenk  * Linux driver for TerraTec DMX 6Fire USB
3*c6d43ba8STorsten Schenk  *
4*c6d43ba8STorsten Schenk  * Author:	Torsten Schenk <torsten.schenk@zoho.com>
5*c6d43ba8STorsten Schenk  * Created:	Jan 01, 2011
6*c6d43ba8STorsten Schenk  * Version:	0.3.0
7*c6d43ba8STorsten Schenk  * Copyright:	(C) Torsten Schenk
8*c6d43ba8STorsten Schenk  *
9*c6d43ba8STorsten Schenk  * This program is free software; you can redistribute it and/or modify
10*c6d43ba8STorsten Schenk  * it under the terms of the GNU General Public License as published by
11*c6d43ba8STorsten Schenk  * the Free Software Foundation; either version 2 of the License, or
12*c6d43ba8STorsten Schenk  * (at your option) any later version.
13*c6d43ba8STorsten Schenk  */
14*c6d43ba8STorsten Schenk 
15*c6d43ba8STorsten Schenk #ifndef USB6FIRE_CONTROL_H
16*c6d43ba8STorsten Schenk #define USB6FIRE_CONTROL_H
17*c6d43ba8STorsten Schenk 
18*c6d43ba8STorsten Schenk #include "common.h"
19*c6d43ba8STorsten Schenk 
20*c6d43ba8STorsten Schenk enum {
21*c6d43ba8STorsten Schenk 	CONTROL_MAX_ELEMENTS = 32
22*c6d43ba8STorsten Schenk };
23*c6d43ba8STorsten Schenk 
24*c6d43ba8STorsten Schenk struct control_runtime {
25*c6d43ba8STorsten Schenk 	struct sfire_chip *chip;
26*c6d43ba8STorsten Schenk 
27*c6d43ba8STorsten Schenk 	struct snd_kcontrol *element[CONTROL_MAX_ELEMENTS];
28*c6d43ba8STorsten Schenk 	bool opt_coax_switch;
29*c6d43ba8STorsten Schenk 	bool line_phono_switch;
30*c6d43ba8STorsten Schenk 	u8 master_vol;
31*c6d43ba8STorsten Schenk };
32*c6d43ba8STorsten Schenk 
33*c6d43ba8STorsten Schenk int __devinit usb6fire_control_init(struct sfire_chip *chip);
34*c6d43ba8STorsten Schenk void usb6fire_control_abort(struct sfire_chip *chip);
35*c6d43ba8STorsten Schenk void usb6fire_control_destroy(struct sfire_chip *chip);
36*c6d43ba8STorsten Schenk #endif /* USB6FIRE_CONTROL_H */
37*c6d43ba8STorsten Schenk 
38