diff mbox

[3/3] V4L/DVB: staging/tm6000: Fix a warning message

Message ID 20101007094542.6a2e6a7c@pedra (mailing list archive)
State Accepted
Headers show

Commit Message

Mauro Carvalho Chehab Oct. 7, 2010, 12:45 p.m. UTC
None
diff mbox

Patch

diff --git a/drivers/staging/tm6000/tm6000-core.c b/drivers/staging/tm6000/tm6000-core.c
index 57cb69e..3d82510 100644
--- a/drivers/staging/tm6000/tm6000-core.c
+++ b/drivers/staging/tm6000/tm6000-core.c
@@ -188,6 +188,8 @@  void tm6000_set_fourcc_format(struct tm6000_core *dev)
 
 int tm6000_init_analog_mode(struct tm6000_core *dev)
 {
+	struct v4l2_frequency f;
+
 	if (dev->dev_type == TM6010) {
 		int val;
 
@@ -324,8 +326,16 @@  int tm6000_init_analog_mode(struct tm6000_core *dev)
 
 	/* Tuner firmware can now be loaded */
 
-	/*FIXME: Hack!!! */
-	struct v4l2_frequency f;
+	/*
+	 * FIXME: This is a hack! xc3028 "sleeps" when no channel is detected
+	 * for more than a few seconds. Not sure why, as this behavior does
+	 * not happen on other devices with xc3028. So, I suspect that it
+	 * is yet another bug at tm6000. After start sleeping, decoding 
+	 * doesn't start automatically. Instead, it requires some
+	 * I2C commands to wake it up. As we want to have image at the
+	 * beginning, we needed to add this hack. The better would be to
+	 * discover some way to make tm6000 to wake up without this hack.
+	 */
 	mutex_lock(&dev->lock);
 	f.frequency = dev->freq;
 	v4l2_device_call_all(&dev->v4l2_dev, 0, tuner, s_frequency, &f);