V4L/DVB (3359): Redesign tuners struct for maximum flexibility
[safe/jmp/linux-2.6] / include / media / tuner-types.h
1 /*
2  * descriptions for simple tuners.
3  */
4
5 #ifndef __TUNER_TYPES_H__
6 #define __TUNER_TYPES_H__
7
8 enum param_type {
9         TUNER_PARAM_TYPE_RADIO, \
10         TUNER_PARAM_TYPE_PAL, \
11         TUNER_PARAM_TYPE_SECAM, \
12         TUNER_PARAM_TYPE_NTSC, \
13         TUNER_PARAM_TYPE_ATSC, \
14         TUNER_PARAM_TYPE_DVBT, \
15         TUNER_PARAM_TYPE_DVBS, \
16         TUNER_PARAM_TYPE_DVBC
17 };
18
19 struct tuner_range {
20         unsigned short limit;
21         unsigned char cb;
22 };
23
24 struct tuner_params {
25         enum param_type type;
26         unsigned char config; /* to be moved into struct tuner_range for dvb-pll merge */
27
28         unsigned int count;
29         struct tuner_range *ranges;
30 };
31
32 struct tunertype {
33         char *name;
34         unsigned int has_tda988x:1;
35         struct tuner_params *params;
36 };
37
38 extern struct tunertype tuners[];
39 extern unsigned const int tuner_count;
40
41 #endif