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