V4L/DVB (5313): Added a config entry and a gpio function pointer to tuner struct

These entries mainly are to support configurations of the tda827x
silicon tuner with a preamplifier.
The values can be set throgh the attach inform or through
the extended TUNER_SET_TYPE_ADDR client call. The function pointer
will only be updated if the parameter is not NULL.
Since a typecast is necessary to set the pointer, i added a typedef for
this pointer (tuner_gpio_func_t) in tuner.h

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 99acf84..fe56712 100644
--- a/include/media/tuner.h
+++ b/include/media/tuner.h
@@ -173,10 +173,15 @@
    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;
 };
 
 struct tuner {
@@ -210,6 +215,8 @@
 	unsigned char tda827x_addr;
 	unsigned char tda827x_ver;
 	unsigned int sgIF;
+	unsigned int config;
+	tuner_gpio_func_t gpio_func;
 
 	/* function ptrs */
 	void (*set_tv_freq)(struct i2c_client *c, unsigned int freq);