tm6000 sometimes can't read from i2c, but this is currently required for
tuner-xc2028 to work.
This patch adds an option to tuner-xc2028 to not rely on i2c reading.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
 
        /* Check firmware version against what we downloaded. */
        if (priv->firm_version != ((version & 0xf0) << 4 | (version & 0x0f))) {
-               tuner_err("Incorrect readback of firmware version.\n");
-               goto fail;
+               if (!priv->ctrl.read_not_reliable) {
+                       tuner_err("Incorrect readback of firmware version.\n");
+                       goto fail;
+               } else {
+                       tuner_err("Returned an incorrect version. However, "
+                                 "read is not reliable enough. Ignoring it.\n");
+                       hwmodel = 3028;
+               }
        }
 
        /* Check that the tuner hardware model remains consistent over time. */
 
        unsigned int            vhfbw7:1;
        unsigned int            uhfbw8:1;
        unsigned int            disable_power_mgmt:1;
+       unsigned int            read_not_reliable:1;
        unsigned int            demod;
        enum firmware_type      type:2;
 };
 
                        ctl.fname = "tm6000-xc3028.fw";
 
                ctl.mts   = 1;
+               ctl.read_not_reliable = 1;
 
                xc2028_cfg.tuner = TUNER_XC2028;
                xc2028_cfg.priv  = &ctl;