forked from Minki/linux
7b0ac9cdd4
- Tunertype struct redefined to allow one or more tuner_params structs per tuner definition, one for each video standard. - Each tuner_params struct has an element containing an arbitrary amount of tuner_ranges. (this is needed for dvb tuners - to be handled later) - A tuner_range may be referenced by multiple tuner_params structs. There are many duplicates in here. Reusing tuner_range structs, rather than defining new ones for each tuner, will cut down on memory usage, and is preferred when possible. - tunertype struct contains an element, has_tda988x. We must set this for all tunertypes that contain a tda988x chip, and then we can remove this setting from the various card structs. - Improves tuners array memory usage efficiency. - Right now, all tuners are using the first tuner_params[] array element for analog mode. In the future, we will be merging similar tuner definitions together, such that each tuner definition will have a tuner_params struct for each available video standard. At that point, the tuner_params[] array element will be chosen based on the video standard in use. Signed-off-by: Michael Krufky <mkrufky@m1k.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
42 lines
750 B
C
42 lines
750 B
C
/*
|
|
* descriptions for simple tuners.
|
|
*/
|
|
|
|
#ifndef __TUNER_TYPES_H__
|
|
#define __TUNER_TYPES_H__
|
|
|
|
enum param_type {
|
|
TUNER_PARAM_TYPE_RADIO, \
|
|
TUNER_PARAM_TYPE_PAL, \
|
|
TUNER_PARAM_TYPE_SECAM, \
|
|
TUNER_PARAM_TYPE_NTSC, \
|
|
TUNER_PARAM_TYPE_ATSC, \
|
|
TUNER_PARAM_TYPE_DVBT, \
|
|
TUNER_PARAM_TYPE_DVBS, \
|
|
TUNER_PARAM_TYPE_DVBC
|
|
};
|
|
|
|
struct tuner_range {
|
|
unsigned short limit;
|
|
unsigned char cb;
|
|
};
|
|
|
|
struct tuner_params {
|
|
enum param_type type;
|
|
unsigned char config; /* to be moved into struct tuner_range for dvb-pll merge */
|
|
|
|
unsigned int count;
|
|
struct tuner_range *ranges;
|
|
};
|
|
|
|
struct tunertype {
|
|
char *name;
|
|
unsigned int has_tda988x:1;
|
|
struct tuner_params *params;
|
|
};
|
|
|
|
extern struct tunertype tuners[];
|
|
extern unsigned const int tuner_count;
|
|
|
|
#endif
|