diff options
Diffstat (limited to 'drivers/media/dvb/dvb-usb/lmedm04.c')
-rw-r--r-- | drivers/media/dvb/dvb-usb/lmedm04.c | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/drivers/media/dvb/dvb-usb/lmedm04.c b/drivers/media/dvb/dvb-usb/lmedm04.c index ef5911a2d342..55b25be072ee 100644 --- a/drivers/media/dvb/dvb-usb/lmedm04.c +++ b/drivers/media/dvb/dvb-usb/lmedm04.c | |||
@@ -941,7 +941,7 @@ static int lme_name(struct dvb_usb_adapter *adap) | |||
941 | const char *desc = adap->dev->desc->name; | 941 | const char *desc = adap->dev->desc->name; |
942 | char *fe_name[] = {"", " LG TDQY-P001F", " SHARP:BS2F7HZ7395", | 942 | char *fe_name[] = {"", " LG TDQY-P001F", " SHARP:BS2F7HZ7395", |
943 | " SHARP:BS2F7HZ0194"}; | 943 | " SHARP:BS2F7HZ0194"}; |
944 | char *name = adap->fe[0]->ops.info.name; | 944 | char *name = adap->fe_adap[0].fe->ops.info.name; |
945 | 945 | ||
946 | strlcpy(name, desc, 128); | 946 | strlcpy(name, desc, 128); |
947 | strlcat(name, fe_name[st->tuner_config], 128); | 947 | strlcat(name, fe_name[st->tuner_config], 128); |
@@ -958,10 +958,10 @@ static int dm04_lme2510_frontend_attach(struct dvb_usb_adapter *adap) | |||
958 | st->i2c_talk_onoff = 1; | 958 | st->i2c_talk_onoff = 1; |
959 | 959 | ||
960 | st->i2c_gate = 4; | 960 | st->i2c_gate = 4; |
961 | adap->fe[0] = dvb_attach(tda10086_attach, &tda10086_config, | 961 | adap->fe_adap[0].fe = dvb_attach(tda10086_attach, &tda10086_config, |
962 | &adap->dev->i2c_adap); | 962 | &adap->dev->i2c_adap); |
963 | 963 | ||
964 | if (adap->fe[0]) { | 964 | if (adap->fe_adap[0].fe) { |
965 | info("TUN Found Frontend TDA10086"); | 965 | info("TUN Found Frontend TDA10086"); |
966 | st->i2c_tuner_gate_w = 4; | 966 | st->i2c_tuner_gate_w = 4; |
967 | st->i2c_tuner_gate_r = 4; | 967 | st->i2c_tuner_gate_r = 4; |
@@ -975,9 +975,9 @@ static int dm04_lme2510_frontend_attach(struct dvb_usb_adapter *adap) | |||
975 | } | 975 | } |
976 | 976 | ||
977 | st->i2c_gate = 4; | 977 | st->i2c_gate = 4; |
978 | adap->fe[0] = dvb_attach(stv0299_attach, &sharp_z0194_config, | 978 | adap->fe_adap[0].fe = dvb_attach(stv0299_attach, &sharp_z0194_config, |
979 | &adap->dev->i2c_adap); | 979 | &adap->dev->i2c_adap); |
980 | if (adap->fe[0]) { | 980 | if (adap->fe_adap[0].fe) { |
981 | info("FE Found Stv0299"); | 981 | info("FE Found Stv0299"); |
982 | st->i2c_tuner_gate_w = 4; | 982 | st->i2c_tuner_gate_w = 4; |
983 | st->i2c_tuner_gate_r = 5; | 983 | st->i2c_tuner_gate_r = 5; |
@@ -991,9 +991,9 @@ static int dm04_lme2510_frontend_attach(struct dvb_usb_adapter *adap) | |||
991 | } | 991 | } |
992 | 992 | ||
993 | st->i2c_gate = 5; | 993 | st->i2c_gate = 5; |
994 | adap->fe[0] = dvb_attach(stv0288_attach, &lme_config, | 994 | adap->fe_adap[0].fe = dvb_attach(stv0288_attach, &lme_config, |
995 | &adap->dev->i2c_adap); | 995 | &adap->dev->i2c_adap); |
996 | if (adap->fe[0]) { | 996 | if (adap->fe_adap[0].fe) { |
997 | info("FE Found Stv0288"); | 997 | info("FE Found Stv0288"); |
998 | st->i2c_tuner_gate_w = 4; | 998 | st->i2c_tuner_gate_w = 4; |
999 | st->i2c_tuner_gate_r = 5; | 999 | st->i2c_tuner_gate_r = 5; |
@@ -1010,15 +1010,15 @@ static int dm04_lme2510_frontend_attach(struct dvb_usb_adapter *adap) | |||
1010 | 1010 | ||
1011 | 1011 | ||
1012 | end: if (ret) { | 1012 | end: if (ret) { |
1013 | if (adap->fe[0]) { | 1013 | if (adap->fe_adap[0].fe) { |
1014 | dvb_frontend_detach(adap->fe[0]); | 1014 | dvb_frontend_detach(adap->fe_adap[0].fe); |
1015 | adap->fe[0] = NULL; | 1015 | adap->fe_adap[0].fe = NULL; |
1016 | } | 1016 | } |
1017 | adap->dev->props.rc.core.rc_codes = NULL; | 1017 | adap->dev->props.rc.core.rc_codes = NULL; |
1018 | return -ENODEV; | 1018 | return -ENODEV; |
1019 | } | 1019 | } |
1020 | 1020 | ||
1021 | adap->fe[0]->ops.set_voltage = dm04_lme2510_set_voltage; | 1021 | adap->fe_adap[0].fe->ops.set_voltage = dm04_lme2510_set_voltage; |
1022 | ret = lme_name(adap); | 1022 | ret = lme_name(adap); |
1023 | return ret; | 1023 | return ret; |
1024 | } | 1024 | } |
@@ -1031,17 +1031,17 @@ static int dm04_lme2510_tuner(struct dvb_usb_adapter *adap) | |||
1031 | 1031 | ||
1032 | switch (st->tuner_config) { | 1032 | switch (st->tuner_config) { |
1033 | case TUNER_LG: | 1033 | case TUNER_LG: |
1034 | if (dvb_attach(tda826x_attach, adap->fe[0], 0xc0, | 1034 | if (dvb_attach(tda826x_attach, adap->fe_adap[0].fe, 0xc0, |
1035 | &adap->dev->i2c_adap, 1)) | 1035 | &adap->dev->i2c_adap, 1)) |
1036 | ret = st->tuner_config; | 1036 | ret = st->tuner_config; |
1037 | break; | 1037 | break; |
1038 | case TUNER_S7395: | 1038 | case TUNER_S7395: |
1039 | if (dvb_attach(ix2505v_attach , adap->fe[0], &lme_tuner, | 1039 | if (dvb_attach(ix2505v_attach , adap->fe_adap[0].fe, &lme_tuner, |
1040 | &adap->dev->i2c_adap)) | 1040 | &adap->dev->i2c_adap)) |
1041 | ret = st->tuner_config; | 1041 | ret = st->tuner_config; |
1042 | break; | 1042 | break; |
1043 | case TUNER_S0194: | 1043 | case TUNER_S0194: |
1044 | if (dvb_attach(dvb_pll_attach , adap->fe[0], 0xc0, | 1044 | if (dvb_attach(dvb_pll_attach , adap->fe_adap[0].fe, 0xc0, |
1045 | &adap->dev->i2c_adap, DVB_PLL_OPERA1)) | 1045 | &adap->dev->i2c_adap, DVB_PLL_OPERA1)) |
1046 | ret = st->tuner_config; | 1046 | ret = st->tuner_config; |
1047 | break; | 1047 | break; |
@@ -1145,6 +1145,8 @@ static struct dvb_usb_device_properties lme2510_properties = { | |||
1145 | .num_adapters = 1, | 1145 | .num_adapters = 1, |
1146 | .adapter = { | 1146 | .adapter = { |
1147 | { | 1147 | { |
1148 | .num_frontends = 1, | ||
1149 | .fe = {{ | ||
1148 | .caps = DVB_USB_ADAP_HAS_PID_FILTER| | 1150 | .caps = DVB_USB_ADAP_HAS_PID_FILTER| |
1149 | DVB_USB_ADAP_NEED_PID_FILTERING| | 1151 | DVB_USB_ADAP_NEED_PID_FILTERING| |
1150 | DVB_USB_ADAP_PID_FILTER_CAN_BE_TURNED_OFF, | 1152 | DVB_USB_ADAP_PID_FILTER_CAN_BE_TURNED_OFF, |
@@ -1166,6 +1168,7 @@ static struct dvb_usb_device_properties lme2510_properties = { | |||
1166 | } | 1168 | } |
1167 | } | 1169 | } |
1168 | } | 1170 | } |
1171 | }}, | ||
1169 | } | 1172 | } |
1170 | }, | 1173 | }, |
1171 | .rc.core = { | 1174 | .rc.core = { |
@@ -1193,6 +1196,8 @@ static struct dvb_usb_device_properties lme2510c_properties = { | |||
1193 | .num_adapters = 1, | 1196 | .num_adapters = 1, |
1194 | .adapter = { | 1197 | .adapter = { |
1195 | { | 1198 | { |
1199 | .num_frontends = 1, | ||
1200 | .fe = {{ | ||
1196 | .caps = DVB_USB_ADAP_HAS_PID_FILTER| | 1201 | .caps = DVB_USB_ADAP_HAS_PID_FILTER| |
1197 | DVB_USB_ADAP_NEED_PID_FILTERING| | 1202 | DVB_USB_ADAP_NEED_PID_FILTERING| |
1198 | DVB_USB_ADAP_PID_FILTER_CAN_BE_TURNED_OFF, | 1203 | DVB_USB_ADAP_PID_FILTER_CAN_BE_TURNED_OFF, |
@@ -1214,6 +1219,7 @@ static struct dvb_usb_device_properties lme2510c_properties = { | |||
1214 | } | 1219 | } |
1215 | } | 1220 | } |
1216 | } | 1221 | } |
1222 | }}, | ||
1217 | } | 1223 | } |
1218 | }, | 1224 | }, |
1219 | .rc.core = { | 1225 | .rc.core = { |
@@ -1241,7 +1247,7 @@ static void *lme2510_exit_int(struct dvb_usb_device *d) | |||
1241 | void *buffer = NULL; | 1247 | void *buffer = NULL; |
1242 | 1248 | ||
1243 | if (adap != NULL) { | 1249 | if (adap != NULL) { |
1244 | lme2510_kill_urb(&adap->stream); | 1250 | lme2510_kill_urb(&adap->fe_adap[0].stream); |
1245 | adap->feedcount = 0; | 1251 | adap->feedcount = 0; |
1246 | } | 1252 | } |
1247 | 1253 | ||