|
@@ -1234,10 +1234,6 @@ static int af9035_frontend_detach(struct dvb_usb_adapter *adap)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-static struct tua9001_config af9035_tua9001_config = {
|
|
|
|
- .i2c_addr = 0x60,
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
static const struct fc0011_config af9035_fc0011_config = {
|
|
static const struct fc0011_config af9035_fc0011_config = {
|
|
.i2c_address = 0x60,
|
|
.i2c_address = 0x60,
|
|
};
|
|
};
|
|
@@ -1296,9 +1292,15 @@ static int af9035_tuner_attach(struct dvb_usb_adapter *adap)
|
|
*/
|
|
*/
|
|
|
|
|
|
switch (state->af9033_config[adap->id].tuner) {
|
|
switch (state->af9033_config[adap->id].tuner) {
|
|
- case AF9033_TUNER_TUA9001:
|
|
|
|
- /* AF9035 gpiot3 = TUA9001 RESETN
|
|
|
|
- AF9035 gpiot2 = TUA9001 RXEN */
|
|
|
|
|
|
+ case AF9033_TUNER_TUA9001: {
|
|
|
|
+ struct tua9001_platform_data tua9001_pdata = {
|
|
|
|
+ .dvb_frontend = adap->fe[0],
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ /*
|
|
|
|
+ * AF9035 gpiot3 = TUA9001 RESETN
|
|
|
|
+ * AF9035 gpiot2 = TUA9001 RXEN
|
|
|
|
+ */
|
|
|
|
|
|
/* configure gpiot2 and gpiot2 as output */
|
|
/* configure gpiot2 and gpiot2 as output */
|
|
ret = af9035_wr_reg_mask(d, 0x00d8ec, 0x01, 0x01);
|
|
ret = af9035_wr_reg_mask(d, 0x00d8ec, 0x01, 0x01);
|
|
@@ -1318,9 +1320,14 @@ static int af9035_tuner_attach(struct dvb_usb_adapter *adap)
|
|
goto err;
|
|
goto err;
|
|
|
|
|
|
/* attach tuner */
|
|
/* attach tuner */
|
|
- fe = dvb_attach(tua9001_attach, adap->fe[0],
|
|
|
|
- &d->i2c_adap, &af9035_tua9001_config);
|
|
|
|
|
|
+ ret = af9035_add_i2c_dev(d, "tua9001", 0x60, &tua9001_pdata,
|
|
|
|
+ &d->i2c_adap);
|
|
|
|
+ if (ret)
|
|
|
|
+ goto err;
|
|
|
|
+
|
|
|
|
+ fe = adap->fe[0];
|
|
break;
|
|
break;
|
|
|
|
+ }
|
|
case AF9033_TUNER_FC0011:
|
|
case AF9033_TUNER_FC0011:
|
|
fe = dvb_attach(fc0011_attach, adap->fe[0],
|
|
fe = dvb_attach(fc0011_attach, adap->fe[0],
|
|
&d->i2c_adap, &af9035_fc0011_config);
|
|
&d->i2c_adap, &af9035_fc0011_config);
|
|
@@ -1616,6 +1623,7 @@ static int af9035_tuner_detach(struct dvb_usb_adapter *adap)
|
|
dev_dbg(&d->udev->dev, "%s: adap->id=%d\n", __func__, adap->id);
|
|
dev_dbg(&d->udev->dev, "%s: adap->id=%d\n", __func__, adap->id);
|
|
|
|
|
|
switch (state->af9033_config[adap->id].tuner) {
|
|
switch (state->af9033_config[adap->id].tuner) {
|
|
|
|
+ case AF9033_TUNER_TUA9001:
|
|
case AF9033_TUNER_FC2580:
|
|
case AF9033_TUNER_FC2580:
|
|
case AF9033_TUNER_IT9135_38:
|
|
case AF9033_TUNER_IT9135_38:
|
|
case AF9033_TUNER_IT9135_51:
|
|
case AF9033_TUNER_IT9135_51:
|