summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux/drivers/staging/tm6000/tm6000-cards.c22
-rw-r--r--linux/drivers/staging/tm6000/tm6000-core.c4
2 files changed, 24 insertions, 2 deletions
diff --git a/linux/drivers/staging/tm6000/tm6000-cards.c b/linux/drivers/staging/tm6000/tm6000-cards.c
index 3937b9749..5879c2537 100644
--- a/linux/drivers/staging/tm6000/tm6000-cards.c
+++ b/linux/drivers/staging/tm6000/tm6000-cards.c
@@ -30,6 +30,7 @@
#include "tm6000.h"
#include "tm6000-regs.h"
+#include "tuner-xc2028.h"
#define TM6000_BOARD_UNKNOWN 0
#define TM5600_BOARD_GENERIC 1
@@ -171,6 +172,24 @@ struct usb_device_id tm6000_id_table [] = {
{ },
};
+static void tm6000_config_tuner (struct tm6000_core *dev)
+{
+ struct v4l2_priv_tun_config xc2028_cfg;
+ struct xc2028_ctrl ctl;
+
+ memset (&ctl,0,sizeof(ctl));
+
+ ctl.fname = "tm6000-xc3028.fw";
+ ctl.type = XC2028_FIRM_MTS;
+
+ xc2028_cfg.tuner = TUNER_XC2028;
+ xc2028_cfg.priv = &ctl;
+
+printk("Setting firmware parameters for tm6000\n");
+
+ tm6000_i2c_call_clients(dev, TUNER_SET_CONFIG, &xc2028_cfg);
+}
+
static int tm6000_init_dev(struct tm6000_core *dev)
{
struct v4l2_frequency f;
@@ -206,6 +225,9 @@ static int tm6000_init_dev(struct tm6000_core *dev)
/* Request tuner */
request_module ("tuner");
+
+ tm6000_config_tuner (dev);
+
#if 1
// norm=V4L2_STD_NTSC_M;
dev->norm=V4L2_STD_PAL_M;
diff --git a/linux/drivers/staging/tm6000/tm6000-core.c b/linux/drivers/staging/tm6000/tm6000-core.c
index 5654206fb..df5709f99 100644
--- a/linux/drivers/staging/tm6000/tm6000-core.c
+++ b/linux/drivers/staging/tm6000/tm6000-core.c
@@ -382,9 +382,9 @@ int tm6000_init (struct tm6000_core *dev)
msleep(50);
- return 0;
-
#endif /* HACK */
+
+ return 0;
}
#define tm6000_wrt(dev,req,reg,val, data...) \