aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/dvb-usb/dibusb-common.c
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@kernellabs.com>2011-09-06 08:31:57 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-09-06 13:21:42 -0400
commit77eed219fed5a913f59329cc846420fdeab0150f (patch)
treeabcbcb0a970fb7b81efb11e229151adce78e166b /drivers/media/dvb/dvb-usb/dibusb-common.c
parent4c66c9205c0788e18eb09d482461aa2f551ee046 (diff)
[media] dvb-usb: refactor MFE code for individual streaming config per frontend
refactor MFE code to allow for individual streaming configuration for each frontend Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/dvb-usb/dibusb-common.c')
-rw-r--r--drivers/media/dvb/dvb-usb/dibusb-common.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/media/dvb/dvb-usb/dibusb-common.c b/drivers/media/dvb/dvb-usb/dibusb-common.c
index 263235e194f..735e914815e 100644
--- a/drivers/media/dvb/dvb-usb/dibusb-common.c
+++ b/drivers/media/dvb/dvb-usb/dibusb-common.c
@@ -23,7 +23,7 @@ int dibusb_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff)
23 if (adap->priv != NULL) { 23 if (adap->priv != NULL) {
24 struct dibusb_state *st = adap->priv; 24 struct dibusb_state *st = adap->priv;
25 if (st->ops.fifo_ctrl != NULL) 25 if (st->ops.fifo_ctrl != NULL)
26 if (st->ops.fifo_ctrl(adap->fe[0],onoff)) { 26 if (st->ops.fifo_ctrl(adap->fe_adap[0].fe,onoff)) {
27 err("error while controlling the fifo of the demod."); 27 err("error while controlling the fifo of the demod.");
28 return -ENODEV; 28 return -ENODEV;
29 } 29 }
@@ -37,7 +37,7 @@ int dibusb_pid_filter(struct dvb_usb_adapter *adap, int index, u16 pid, int onof
37 if (adap->priv != NULL) { 37 if (adap->priv != NULL) {
38 struct dibusb_state *st = adap->priv; 38 struct dibusb_state *st = adap->priv;
39 if (st->ops.pid_ctrl != NULL) 39 if (st->ops.pid_ctrl != NULL)
40 st->ops.pid_ctrl(adap->fe[0],index,pid,onoff); 40 st->ops.pid_ctrl(adap->fe_adap[0].fe,index,pid,onoff);
41 } 41 }
42 return 0; 42 return 0;
43} 43}
@@ -48,7 +48,7 @@ int dibusb_pid_filter_ctrl(struct dvb_usb_adapter *adap, int onoff)
48 if (adap->priv != NULL) { 48 if (adap->priv != NULL) {
49 struct dibusb_state *st = adap->priv; 49 struct dibusb_state *st = adap->priv;
50 if (st->ops.pid_parse != NULL) 50 if (st->ops.pid_parse != NULL)
51 if (st->ops.pid_parse(adap->fe[0],onoff) < 0) 51 if (st->ops.pid_parse(adap->fe_adap[0].fe,onoff) < 0)
52 err("could not handle pid_parser"); 52 err("could not handle pid_parser");
53 } 53 }
54 return 0; 54 return 0;
@@ -254,8 +254,8 @@ int dibusb_dib3000mc_frontend_attach(struct dvb_usb_adapter *adap)
254 msleep(1000); 254 msleep(1000);
255 } 255 }
256 256
257 if ((adap->fe[0] = dvb_attach(dib3000mc_attach, &adap->dev->i2c_adap, DEFAULT_DIB3000P_I2C_ADDRESS, &mod3000p_dib3000p_config)) != NULL || 257 if ((adap->fe_adap[0].fe = dvb_attach(dib3000mc_attach, &adap->dev->i2c_adap, DEFAULT_DIB3000P_I2C_ADDRESS, &mod3000p_dib3000p_config)) != NULL ||
258 (adap->fe[0] = dvb_attach(dib3000mc_attach, &adap->dev->i2c_adap, DEFAULT_DIB3000MC_I2C_ADDRESS, &mod3000p_dib3000p_config)) != NULL) { 258 (adap->fe_adap[0].fe = dvb_attach(dib3000mc_attach, &adap->dev->i2c_adap, DEFAULT_DIB3000MC_I2C_ADDRESS, &mod3000p_dib3000p_config)) != NULL) {
259 if (adap->priv != NULL) { 259 if (adap->priv != NULL) {
260 struct dibusb_state *st = adap->priv; 260 struct dibusb_state *st = adap->priv;
261 st->ops.pid_parse = dib3000mc_pid_parse; 261 st->ops.pid_parse = dib3000mc_pid_parse;
@@ -309,15 +309,15 @@ int dibusb_dib3000mc_tuner_attach(struct dvb_usb_adapter *adap)
309 } 309 }
310 } 310 }
311 311
312 tun_i2c = dib3000mc_get_tuner_i2c_master(adap->fe[0], 1); 312 tun_i2c = dib3000mc_get_tuner_i2c_master(adap->fe_adap[0].fe, 1);
313 if (dvb_attach(mt2060_attach, adap->fe[0], tun_i2c, &stk3000p_mt2060_config, if1) == NULL) { 313 if (dvb_attach(mt2060_attach, adap->fe_adap[0].fe, tun_i2c, &stk3000p_mt2060_config, if1) == NULL) {
314 /* not found - use panasonic pll parameters */ 314 /* not found - use panasonic pll parameters */
315 if (dvb_attach(dvb_pll_attach, adap->fe[0], 0x60, tun_i2c, DVB_PLL_ENV57H1XD5) == NULL) 315 if (dvb_attach(dvb_pll_attach, adap->fe_adap[0].fe, 0x60, tun_i2c, DVB_PLL_ENV57H1XD5) == NULL)
316 return -ENOMEM; 316 return -ENOMEM;
317 } else { 317 } else {
318 st->mt2060_present = 1; 318 st->mt2060_present = 1;
319 /* set the correct parameters for the dib3000p */ 319 /* set the correct parameters for the dib3000p */
320 dib3000mc_set_config(adap->fe[0], &stk3000p_dib3000p_config); 320 dib3000mc_set_config(adap->fe_adap[0].fe, &stk3000p_dib3000p_config);
321 } 321 }
322 return 0; 322 return 0;
323} 323}