Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 164f3d2a authored by Antti Palosaari's avatar Antti Palosaari Committed by Mauro Carvalho Chehab
Browse files

[media] rtl28xxu: use demod mux I2C adapter for every tuner



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: default avatarAntti Palosaari <crope@iki.fi>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 25ef9f55
Loading
Loading
Loading
Loading
+8 −5
Original line number Original line Diff line number Diff line
@@ -1074,7 +1074,7 @@ static int rtl2832u_tuner_attach(struct dvb_usb_adapter *adap)
	switch (priv->tuner) {
	switch (priv->tuner) {
	case TUNER_RTL2832_FC0012:
	case TUNER_RTL2832_FC0012:
		fe = dvb_attach(fc0012_attach, adap->fe[0],
		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
		/* since fc0012 includs reading the signal strength delegate
		 * that to the tuner driver */
		 * that to the tuner driver */
@@ -1087,7 +1087,7 @@ static int rtl2832u_tuner_attach(struct dvb_usb_adapter *adap)
		break;
		break;
	case TUNER_RTL2832_FC0013:
	case TUNER_RTL2832_FC0013:
		fe = dvb_attach(fc0013_attach, adap->fe[0],
		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 */
		/* fc0013 also supports signal strength reading */
		adap->fe[0]->ops.read_signal_strength =
		adap->fe[0]->ops.read_signal_strength =
@@ -1132,7 +1132,8 @@ static int rtl2832u_tuner_attach(struct dvb_usb_adapter *adap)
		}
		}
		break;
		break;
	case TUNER_RTL2832_FC2580:
	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);
				&rtl2832u_fc2580_config);
		break;
		break;
	case TUNER_RTL2832_TUA9001:
	case TUNER_RTL2832_TUA9001:
@@ -1145,11 +1146,13 @@ static int rtl2832u_tuner_attach(struct dvb_usb_adapter *adap)
		if (ret)
		if (ret)
			goto err;
			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);
				&rtl2832u_tua9001_config);
		break;
		break;
	case TUNER_RTL2832_R820T:
	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);
				&rtl2832u_r820t_config);


		/* Use tuner to get the signal strength */
		/* Use tuner to get the signal strength */