Lines Matching refs:fc

34 	struct flexcop_device *fc = fe->dvb->priv;
36 return request_firmware(fw, name, fc->dev);
45 struct flexcop_device *fc = fe->dvb->priv;
49 v = fc->read_ibi_reg(fc, misc_204);
66 return fc->write_ibi_reg(fc, misc_204, v);
73 struct flexcop_device *fc = fe->dvb->priv;
74 if (fc->fe_sleep)
75 return fc->fe_sleep(fe);
85 struct flexcop_device *fc = fe->dvb->priv;
106 return fc->write_ibi_reg(fc,lnb_switch_freq_200,v);
170 static int skystar2_rev23_attach(struct flexcop_device *fc,
175 fc->fe = dvb_attach(mt312_attach, &skystar23_samsung_tbdu18132_config, i2c);
176 if (!fc->fe)
179 if (!dvb_attach(dvb_pll_attach, fc->fe, 0x61, i2c,
183 ops = &fc->fe->ops;
188 fc->fe_sleep = ops->sleep;
283 static int skystar2_rev26_attach(struct flexcop_device *fc,
286 fc->fe = dvb_attach(stv0299_attach, &samsung_tbmu24112_config, i2c);
287 if (!fc->fe)
290 if (!dvb_attach(dvb_pll_attach, fc->fe, 0x61, i2c,
294 fc->fe->ops.set_voltage = flexcop_set_voltage;
295 fc->fe_sleep = fc->fe->ops.sleep;
296 fc->fe->ops.sleep = flexcop_sleep;
317 static int skystar2_rev27_attach(struct flexcop_device *fc,
324 fc->fc_i2c_adap[0].no_base_addr = 1;
325 fc->fe = dvb_attach(s5h1420_attach, &skystar2_rev2_7_s5h1420_config,
327 if (!fc->fe)
330 i2c_tuner = s5h1420_get_tuner_i2c_adapter(fc->fe);
334 fc->fe_sleep = fc->fe->ops.sleep;
335 fc->fe->ops.sleep = flexcop_sleep;
338 fc->fc_i2c_adap[2].no_base_addr = 1;
339 if (!dvb_attach(isl6421_attach, fc->fe, &fc->fc_i2c_adap[2].i2c_adap,
348 fc->write_ibi_reg(fc, tw_sm_c_108, r108);
349 if (!dvb_attach(itd1000_attach, fc->fe, i2c_tuner,
360 fc->fc_i2c_adap[2].no_base_addr = 0;
363 fc->fc_i2c_adap[0].no_base_addr = 0;
383 static int skystar2_rev28_attach(struct flexcop_device *fc,
388 fc->fe = dvb_attach(cx24123_attach, &skystar2_rev2_8_cx24123_config,
390 if (!fc->fe)
393 i2c_tuner = cx24123_get_tuner_i2c_adapter(fc->fe);
397 if (!dvb_attach(cx24113_attach, fc->fe, &skystar2_rev2_8_cx24113_config,
404 fc->fc_i2c_adap[2].no_base_addr = 1;
405 if (!dvb_attach(isl6421_attach, fc->fe, &fc->fc_i2c_adap[2].i2c_adap,
408 fc->fc_i2c_adap[2].no_base_addr = 0;
444 static int airstar_dvbt_attach(struct flexcop_device *fc,
447 fc->fe = dvb_attach(mt352_attach, &samsung_tdtc9251dh0_config, i2c);
448 if (!fc->fe)
451 return !!dvb_attach(dvb_pll_attach, fc->fe, 0x61, NULL,
465 static int airstar_atsc1_attach(struct flexcop_device *fc,
468 fc->fe = dvb_attach(bcm3510_attach, &air2pc_atsc_first_gen_config, i2c);
469 return fc->fe != NULL;
481 static int airstar_atsc2_attach(struct flexcop_device *fc,
484 fc->fe = dvb_attach(nxt200x_attach, &samsung_tbmv_config, i2c);
485 if (!fc->fe)
488 return !!dvb_attach(dvb_pll_attach, fc->fe, 0x61, NULL,
503 static int airstar_atsc3_attach(struct flexcop_device *fc,
506 fc->fe = dvb_attach(lgdt330x_attach, &air2pc_atsc_hd5000_config,
508 if (!fc->fe)
511 return !!dvb_attach(simple_tuner_attach, fc->fe, i2c, 0x61,
598 static int cablestar2_attach(struct flexcop_device *fc,
601 fc->fc_i2c_adap[0].no_base_addr = 1;
602 fc->fe = dvb_attach(stv0297_attach, &alps_tdee4_stv0297_config, i2c);
603 if (!fc->fe)
608 if (fc->fe->ops.i2c_gate_ctrl)
609 fc->fe->ops.i2c_gate_ctrl(fc->fe, 0);
610 fc->fe->ops.i2c_gate_ctrl = NULL;
612 if (!dvb_attach(dvb_pll_attach, fc->fe, 0x61,
613 &fc->fc_i2c_adap[2].i2c_adap, DVB_PLL_TDEE4))
620 fc->fc_i2c_adap[0].no_base_addr = 0;
637 static int skystarS2_rev33_attach(struct flexcop_device *fc,
640 fc->fe = dvb_attach(cx24120_attach,
642 if (!fc->fe)
645 fc->dev_type = FC_SKYS2_REV33;
646 fc->fc_i2c_adap[2].no_base_addr = 1;
647 if (!dvb_attach(isl6421_attach, fc->fe, &fc->fc_i2c_adap[2].i2c_adap,
650 fc->fc_i2c_adap[2].no_base_addr = 0;
655 if (fc->has_32_hw_pid_filter)
656 fc->skip_6_hw_pid_filter = 1;
681 int flexcop_frontend_init(struct flexcop_device *fc)
689 fc->dev_type = flexcop_frontends[i].type;
690 if (flexcop_frontends[i].attach(fc, &fc->fc_i2c_adap[0].i2c_adap))
693 if (fc->fe) {
694 dvb_frontend_detach(fc->fe);
695 fc->fe = NULL;
698 fc->dev_type = FC_UNK;
703 info("found '%s' .", fc->fe->ops.info.name);
704 if (dvb_register_frontend(&fc->dvb_adapter, fc->fe)) {
706 dvb_frontend_detach(fc->fe);
707 fc->fe = NULL;
710 fc->init_state |= FC_STATE_FE_INIT;
714 void flexcop_frontend_exit(struct flexcop_device *fc)
716 if (fc->init_state & FC_STATE_FE_INIT) {
717 dvb_unregister_frontend(fc->fe);
718 dvb_frontend_detach(fc->fe);
720 fc->init_state &= ~FC_STATE_FE_INIT;