From: Mauro Carvalho Chehab <mchehab@redhat.com>
Date: Wed, 24 Oct 2007 12:22:08 +0000 (-0300)
Subject: V4L/DVB (12807): tm6000: Properly select xc2028 parameters
X-Git-Tag: firefly_0821_release~9833^2~2094^2~499
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=d544f2c33f39086fe08cfabe98bd2a36592c5ffb;p=firefly-linux-kernel-4.4.55.git

V4L/DVB (12807): tm6000: Properly select xc2028 parameters

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---

diff --git a/drivers/staging/tm6000/tm6000-cards.c b/drivers/staging/tm6000/tm6000-cards.c
index 5544b8a26197..c60863470180 100644
--- a/drivers/staging/tm6000/tm6000-cards.c
+++ b/drivers/staging/tm6000/tm6000-cards.c
@@ -29,6 +29,7 @@
 
 #include "tm6000.h"
 #include "tm6000-regs.h"
+#include "tuner-xc2028.h"
 
 #define TM6000_BOARD_UNKNOWN			0
 #define TM5600_BOARD_GENERIC			1
@@ -156,6 +157,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;
@@ -191,6 +210,9 @@ static int tm6000_init_dev(struct tm6000_core *dev)
 
 	/* Request tuner */
 	request_module ("tuner");
+
+	tm6000_config_tuner (dev);
+
 //	norm=V4L2_STD_NTSC_M;
 	dev->norm=V4L2_STD_PAL_M;
 	tm6000_i2c_call_clients(dev, VIDIOC_S_STD, &dev->norm);
diff --git a/drivers/staging/tm6000/tm6000-core.c b/drivers/staging/tm6000/tm6000-core.c
index 8a645fe8e5a3..bef528f2413b 100644
--- a/drivers/staging/tm6000/tm6000-core.c
+++ b/drivers/staging/tm6000/tm6000-core.c
@@ -375,9 +375,9 @@ int tm6000_init (struct tm6000_core *dev)
 
 	msleep(50);
 
-	return 0;
-
 #endif /* HACK */
+
+	return 0;
 }
 
 #define tm6000_wrt(dev,req,reg,val, data...)				\