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>
diff --git a/include/media/tuner.h b/include/media/tuner.h
index fe56712..a41ac411 100644
--- a/include/media/tuner.h
+++ b/include/media/tuner.h
@@ -173,15 +173,12 @@
    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 @@
 	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);