[media] anysee: fix E30 Combo Plus TDA18212 GPIO
authorAntti Palosaari <crope@iki.fi>
Tue, 12 Apr 2011 13:22:47 +0000 (10:22 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 20 May 2011 12:27:07 +0000 (09:27 -0300)
Looks like it is IF route switch on IOE[0]. Set it correctly
to route signal from tuner to demod. Now it works for DVB-C too.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/dvb-usb/anysee.c

index fa5acd040e93937a1d123f3c3367ff5e8263a17b..b0cac60d286fff47e9f5572e96703547d085d866 100644 (file)
@@ -612,6 +612,20 @@ static int anysee_tuner_attach(struct dvb_usb_adapter *adap)
                /* E30 Combo Plus */
                /* E30 C Plus */
 
+               if (dvb_usb_anysee_delsys) {
+                       /* enable DVB-T tuner on IOE[0] */
+                       ret = anysee_wr_reg_mask(adap->dev, REG_IOE, (0 << 0),
+                               0x01);
+                       if (ret)
+                               goto error;
+               } else {
+                       /* enable DVB-C tuner on IOE[0] */
+                       ret = anysee_wr_reg_mask(adap->dev, REG_IOE, (1 << 0),
+                               0x01);
+                       if (ret)
+                               goto error;
+               }
+
                /* Try first attach TDA18212 silicon tuner on IOE[4], if that
                 * fails attach old simple PLL. */
 
@@ -631,20 +645,6 @@ static int anysee_tuner_attach(struct dvb_usb_adapter *adap)
                if (ret)
                        goto error;
 
-               if (dvb_usb_anysee_delsys) {
-                       /* enable DVB-T tuner on IOE[0] */
-                       ret = anysee_wr_reg_mask(adap->dev, REG_IOE, (0 << 0),
-                               0x01);
-                       if (ret)
-                               goto error;
-               } else {
-                       /* enable DVB-C tuner on IOE[0] */
-                       ret = anysee_wr_reg_mask(adap->dev, REG_IOE, (1 << 0),
-                               0x01);
-                       if (ret)
-                               goto error;
-               }
-
                /* attach tuner */
                dvb_attach(dvb_pll_attach, adap->fe, (0xc0 >> 1),
                        &adap->dev->i2c_adap, DVB_PLL_SAMSUNG_DTOS403IH102A);