]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
[media] staging/tm6000: Fix a warning message
authorMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 7 Oct 2010 12:42:43 +0000 (09:42 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 21 Oct 2010 03:17:02 +0000 (01:17 -0200)
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>
drivers/staging/tm6000/tm6000-core.c

index 57cb69e1fce9ad9d95fa3fa04fde399e62172fd9..3d825107c09fbbf27dc157d323b05ebe7cbe5ca8 100644 (file)
@@ -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);