aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/tm6000/tm6000-core.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2010-10-07 09:42:43 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-10-21 01:17:02 -0200
commit94d4350c544066d590eee93582220128e8be8b1c (patch)
treebb1830948998a0168f1dfa3ecdb7f56bd61e9436 /drivers/staging/tm6000/tm6000-core.c
parent[media] lirc_igorplugusb: Fix a compilation waring (diff)
downloadlinux-dev-94d4350c544066d590eee93582220128e8be8b1c.tar.xz
linux-dev-94d4350c544066d590eee93582220128e8be8b1c.zip
[media] staging/tm6000: Fix a warning message
I added a code to the driver to force it to produce a warning. This were intended to remind me about a very bad hack. I never found a way to workaround. So, instead of those warnings: drivers/staging/tm6000/tm6000-core.c: In function ‘tm6000_init_analog_mode’: drivers/staging/tm6000/tm6000-core.c:328: warning: ISO C90 forbids mixed declarations and code Let's document the issue and hope if someone with the support of the vendor might fix it. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/staging/tm6000/tm6000-core.c')
-rw-r--r--drivers/staging/tm6000/tm6000-core.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/staging/tm6000/tm6000-core.c b/drivers/staging/tm6000/tm6000-core.c
index 57cb69e1fce9..3d825107c09f 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);