summaryrefslogtreecommitdiff
path: root/drivers/media/video/em28xx/em28xx-cards.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2007-10-29 11:33:18 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-01-25 19:01:34 -0200
commit882876bf9780fac570184b719a76140a1b1e4178 (patch)
tree44760ff3e154de6ec2eaabb801c69b55ea81ba1b /drivers/media/video/em28xx/em28xx-cards.c
parent48aa336a842ad3bd4f031f14fb6d06b0274c38f9 (diff)
V4L/DVB (6474): Add support for tuner-xc2028
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-cards.c')
-rw-r--r--drivers/media/video/em28xx/em28xx-cards.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
index 2d72de0e7564..98dc12019076 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -35,6 +35,7 @@
#include <media/v4l2-common.h>
#include "em28xx.h"
+#include "tuner-xc2028.h"
struct em28xx_board em28xx_boards[] = {
[EM2800_BOARD_UNKNOWN] = {
@@ -362,6 +363,21 @@ void em28xx_pre_card_setup(struct em28xx *dev)
}
}
+static void em28xx_config_tuner (struct em28xx *dev)
+{
+ struct v4l2_priv_tun_config xc2028_cfg;
+ struct xc2028_ctrl ctl;
+
+ memset (&ctl,0,sizeof(ctl));
+
+ ctl.fname = XC2028_DEFAULT_FIRMWARE;
+
+ xc2028_cfg.tuner = TUNER_XC2028;
+ xc2028_cfg.priv = &ctl;
+
+ em28xx_i2c_call_clients(dev, TUNER_SET_CONFIG, &xc2028_cfg);
+}
+
void em28xx_card_setup(struct em28xx *dev)
{
/* request some modules */
@@ -394,6 +410,7 @@ void em28xx_card_setup(struct em28xx *dev)
}
}
+ em28xx_config_tuner (dev);
}
MODULE_DEVICE_TABLE (usb, em28xx_id_table);