[media] rtl28xxu: use demod mux I2C adapter for every tuner
authorAntti Palosaari <crope@iki.fi>
Sun, 14 Dec 2014 14:45:55 +0000 (11:45 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Tue, 3 Feb 2015 18:08:16 +0000 (16:08 -0200)
Tuners are connected to demod I2C adapter. Use that muxed adapter
for each tuner. That allows us to get rid of hackish FE gate control
solution.

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

index 25c885fda2523b3d7db9471934b46afdc498eb98..ef27ad09384c1bddcf59df145b4e246216788277 100644 (file)
@@ -1074,7 +1074,7 @@ static int rtl2832u_tuner_attach(struct dvb_usb_adapter *adap)
        switch (priv->tuner) {
        case TUNER_RTL2832_FC0012:
                fe = dvb_attach(fc0012_attach, adap->fe[0],
-                       &d->i2c_adap, &rtl2832u_fc0012_config);
+                       priv->demod_i2c_adapter, &rtl2832u_fc0012_config);
 
                /* since fc0012 includs reading the signal strength delegate
                 * that to the tuner driver */
@@ -1087,7 +1087,7 @@ static int rtl2832u_tuner_attach(struct dvb_usb_adapter *adap)
                break;
        case TUNER_RTL2832_FC0013:
                fe = dvb_attach(fc0013_attach, adap->fe[0],
-                       &d->i2c_adap, 0xc6>>1, 0, FC_XTAL_28_8_MHZ);
+                       priv->demod_i2c_adapter, 0xc6>>1, 0, FC_XTAL_28_8_MHZ);
 
                /* fc0013 also supports signal strength reading */
                adap->fe[0]->ops.read_signal_strength =
@@ -1132,7 +1132,8 @@ static int rtl2832u_tuner_attach(struct dvb_usb_adapter *adap)
                }
                break;
        case TUNER_RTL2832_FC2580:
-               fe = dvb_attach(fc2580_attach, adap->fe[0], &d->i2c_adap,
+               fe = dvb_attach(fc2580_attach, adap->fe[0],
+                               priv->demod_i2c_adapter,
                                &rtl2832u_fc2580_config);
                break;
        case TUNER_RTL2832_TUA9001:
@@ -1145,11 +1146,13 @@ static int rtl2832u_tuner_attach(struct dvb_usb_adapter *adap)
                if (ret)
                        goto err;
 
-               fe = dvb_attach(tua9001_attach, adap->fe[0], &d->i2c_adap,
+               fe = dvb_attach(tua9001_attach, adap->fe[0],
+                               priv->demod_i2c_adapter,
                                &rtl2832u_tua9001_config);
                break;
        case TUNER_RTL2832_R820T:
-               fe = dvb_attach(r820t_attach, adap->fe[0], &d->i2c_adap,
+               fe = dvb_attach(r820t_attach, adap->fe[0],
+                               priv->demod_i2c_adapter,
                                &rtl2832u_r820t_config);
 
                /* Use tuner to get the signal strength */