V4L/DVB (5323): Updated support for tuner callbacks

This change supplies a more generic version of the tuner callback.
The tuner struct now has a function pointer
  int (*tuner_callback) (void *dev, int command, int arg)
additionally to a int config parameter.
both can be set through the TUNER_SET_TYPE_ADDR client call.
Note that the meaning of the parameters depend on the tuner type.

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
Hartmut Hackmann
2007-04-27 12:31:17 -03:00
committed by Mauro Carvalho Chehab
parent b8bc76d88f
commit cfeb88398f
7 changed files with 45 additions and 38 deletions

View File

@ -173,15 +173,12 @@ enum tuner_mode {
when the tuner is set to TV mode.
*/
/* allows to access the GPIOs of the host (pci bridge) */
typedef void (*tuner_gpio_func_t) (void *dev, int bit_no,int value);
struct tuner_setup {
unsigned short addr; /* I2C address */
unsigned int type; /* Tuner type */
unsigned int mode_mask; /* Allowed tuner modes */
unsigned int config; /* configuraion for more complex tuners */
tuner_gpio_func_t gpio_func;
int (*tuner_callback) (void *dev, int command,int arg);
};
struct tuner {
@ -215,8 +212,9 @@ struct tuner {
unsigned char tda827x_addr;
unsigned char tda827x_ver;
unsigned int sgIF;
unsigned int config;
tuner_gpio_func_t gpio_func;
int (*tuner_callback) (void *dev, int command,int arg);
/* function ptrs */
void (*set_tv_freq)(struct i2c_client *c, unsigned int freq);