V4L/DVB (6474): Add support for tuner-xc2028
authorMauro Carvalho Chehab <mchehab@infradead.org>
Mon, 29 Oct 2007 14:33:18 +0000 (11:33 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Fri, 25 Jan 2008 21:01:34 +0000 (19:01 -0200)
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/em28xx/em28xx-cards.c

index 2d72de0e7564fd412bc3871a0f45e4c168606910..98dc120190763385c0a61ab50b085c2bd3c8c4a0 100644 (file)
@@ -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);