diff options
-rw-r--r-- | drivers/media/dvb/dvb-usb/dw2102.c | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/drivers/media/dvb/dvb-usb/dw2102.c b/drivers/media/dvb/dvb-usb/dw2102.c index 2889d32bec25..98cf30270f7d 100644 --- a/drivers/media/dvb/dvb-usb/dw2102.c +++ b/drivers/media/dvb/dvb-usb/dw2102.c | |||
@@ -1111,18 +1111,25 @@ static int zl100313_frontend_attach(struct dvb_usb_adapter *d) | |||
1111 | 1111 | ||
1112 | static int stv0288_frontend_attach(struct dvb_usb_adapter *d) | 1112 | static int stv0288_frontend_attach(struct dvb_usb_adapter *d) |
1113 | { | 1113 | { |
1114 | u8 obuf[] = {7, 1}; | ||
1115 | |||
1114 | d->fe = dvb_attach(stv0288_attach, &earda_config, | 1116 | d->fe = dvb_attach(stv0288_attach, &earda_config, |
1115 | &d->dev->i2c_adap); | 1117 | &d->dev->i2c_adap); |
1116 | if (d->fe != NULL) { | ||
1117 | if (dvb_attach(stb6000_attach, d->fe, 0x61, | ||
1118 | &d->dev->i2c_adap)) { | ||
1119 | d->fe->ops.set_voltage = dw210x_set_voltage; | ||
1120 | info("Attached stv0288+stb6000!\n"); | ||
1121 | return 0; | ||
1122 | } | ||
1123 | } | ||
1124 | 1118 | ||
1125 | return -EIO; | 1119 | if (d->fe == NULL) |
1120 | return -EIO; | ||
1121 | |||
1122 | if (NULL == dvb_attach(stb6000_attach, d->fe, 0x61, &d->dev->i2c_adap)) | ||
1123 | return -EIO; | ||
1124 | |||
1125 | d->fe->ops.set_voltage = dw210x_set_voltage; | ||
1126 | |||
1127 | dw210x_op_rw(d->dev->udev, 0x8a, 0, 0, obuf, 2, DW210X_WRITE_MSG); | ||
1128 | |||
1129 | info("Attached stv0288+stb6000!\n"); | ||
1130 | |||
1131 | return 0; | ||
1132 | |||
1126 | } | 1133 | } |
1127 | 1134 | ||
1128 | static int ds3000_frontend_attach(struct dvb_usb_adapter *d) | 1135 | static int ds3000_frontend_attach(struct dvb_usb_adapter *d) |