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/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
index 89f3210..4399d13 100644
--- a/drivers/media/video/saa7134/saa7134-cards.c
+++ b/drivers/media/video/saa7134/saa7134-cards.c
@@ -2543,11 +2543,12 @@
.name = "Philips Tiger reference design",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
+ .tuner_config = 0,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
- .gpiomask = 1 << 21,
+ .gpiomask = 0x0200000,
.inputs = {{
.name = name_tv,
.vmux = 1,
diff --git a/drivers/media/video/saa7134/saa7134-i2c.c b/drivers/media/video/saa7134/saa7134-i2c.c
index cce8da6..62c107e 100644
--- a/drivers/media/video/saa7134/saa7134-i2c.c
+++ b/drivers/media/video/saa7134/saa7134-i2c.c
@@ -370,6 +370,8 @@
tun_setup.type = tuner;
tun_setup.addr = saa7134_boards[dev->board].tuner_addr;
+ tun_setup.config = saa7134_boards[dev->board].tuner_config;
+ tun_setup.gpio_func = (tuner_gpio_func_t) saa7134_set_gpio;
if ((tun_setup.addr == ADDR_UNSET)||(tun_setup.addr == client->addr)) {
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h
index 7b5ae19..303c080 100644
--- a/drivers/media/video/saa7134/saa7134.h
+++ b/drivers/media/video/saa7134/saa7134.h
@@ -280,6 +280,7 @@
unsigned char radio_addr;
unsigned int tda9887_conf;
+ unsigned int tuner_config;
/* peripheral I/O */
enum saa7134_video_out video_out;