Lines Matching refs:fe

50 static int tda8290_i2c_bridge(struct dvb_frontend *fe, int close)
52 struct tda8290_priv *priv = fe->analog_demod_priv;
71 static int tda8295_i2c_bridge(struct dvb_frontend *fe, int close)
73 struct tda8290_priv *priv = fe->analog_demod_priv;
103 static void set_audio(struct dvb_frontend *fe,
106 struct tda8290_priv *priv = fe->analog_demod_priv;
164 static void tda8290_set_params(struct dvb_frontend *fe,
167 struct tda8290_priv *priv = fe->analog_demod_priv;
191 set_audio(fe, params);
225 if (fe->ops.analog_ops.i2c_gate_ctrl)
226 fe->ops.analog_ops.i2c_gate_ctrl(fe, 1);
228 if (fe->ops.tuner_ops.set_analog_params)
229 fe->ops.tuner_ops.set_analog_params(fe, params);
262 priv->cfg.agcf(fe);
295 if (fe->ops.analog_ops.i2c_gate_ctrl)
296 fe->ops.analog_ops.i2c_gate_ctrl(fe, 0);
302 static void tda8295_power(struct dvb_frontend *fe, int enable)
304 struct tda8290_priv *priv = fe->analog_demod_priv;
317 static void tda8295_set_easy_mode(struct dvb_frontend *fe, int enable)
319 struct tda8290_priv *priv = fe->analog_demod_priv;
332 static void tda8295_set_video_std(struct dvb_frontend *fe)
334 struct tda8290_priv *priv = fe->analog_demod_priv;
339 tda8295_set_easy_mode(fe, 1);
341 tda8295_set_easy_mode(fe, 0);
346 static void tda8295_agc1_out(struct dvb_frontend *fe, int enable)
348 struct tda8290_priv *priv = fe->analog_demod_priv;
361 static void tda8295_agc2_out(struct dvb_frontend *fe, int enable)
363 struct tda8290_priv *priv = fe->analog_demod_priv;
382 static int tda8295_has_signal(struct dvb_frontend *fe, u16 *signal)
384 struct tda8290_priv *priv = fe->analog_demod_priv;
396 static void tda8295_set_params(struct dvb_frontend *fe,
399 struct tda8290_priv *priv = fe->analog_demod_priv;
403 set_audio(fe, params);
407 tda8295_power(fe, 1);
408 tda8295_agc1_out(fe, 1);
413 tda8295_set_video_std(fe);
419 if (fe->ops.analog_ops.i2c_gate_ctrl)
420 fe->ops.analog_ops.i2c_gate_ctrl(fe, 1);
422 if (fe->ops.tuner_ops.set_analog_params)
423 fe->ops.tuner_ops.set_analog_params(fe, params);
426 priv->cfg.agcf(fe);
428 tda8295_has_signal(fe, &signal);
434 if (fe->ops.analog_ops.i2c_gate_ctrl)
435 fe->ops.analog_ops.i2c_gate_ctrl(fe, 0);
440 static int tda8290_has_signal(struct dvb_frontend *fe, u16 *signal)
442 struct tda8290_priv *priv = fe->analog_demod_priv;
455 static void tda8290_standby(struct dvb_frontend *fe)
457 struct tda8290_priv *priv = fe->analog_demod_priv;
464 if (fe->ops.analog_ops.i2c_gate_ctrl)
465 fe->ops.analog_ops.i2c_gate_ctrl(fe, 1);
469 if (fe->ops.analog_ops.i2c_gate_ctrl)
470 fe->ops.analog_ops.i2c_gate_ctrl(fe, 0);
475 static void tda8295_standby(struct dvb_frontend *fe)
477 tda8295_agc1_out(fe, 0); /* Put AGC in tri-state */
479 tda8295_power(fe, 0);
482 static void tda8290_init_if(struct dvb_frontend *fe)
484 struct tda8290_priv *priv = fe->analog_demod_priv;
498 static void tda8295_init_if(struct dvb_frontend *fe)
500 struct tda8290_priv *priv = fe->analog_demod_priv;
510 tda8295_power(fe, 1);
512 tda8295_set_easy_mode(fe, 0);
513 tda8295_set_video_std(fe);
523 tda8295_agc1_out(fe, 0);
524 tda8295_agc2_out(fe, 0);
527 static void tda8290_init_tuner(struct dvb_frontend *fe)
529 struct tda8290_priv *priv = fe->analog_demod_priv;
541 if (fe->ops.analog_ops.i2c_gate_ctrl)
542 fe->ops.analog_ops.i2c_gate_ctrl(fe, 1);
544 if (fe->ops.analog_ops.i2c_gate_ctrl)
545 fe->ops.analog_ops.i2c_gate_ctrl(fe, 0);
550 static void tda829x_release(struct dvb_frontend *fe)
552 struct tda8290_priv *priv = fe->analog_demod_priv;
557 if (fe->ops.tuner_ops.release)
558 fe->ops.tuner_ops.release(fe);
560 kfree(fe->analog_demod_priv);
561 fe->analog_demod_priv = NULL;
568 static int tda829x_find_tuner(struct dvb_frontend *fe)
570 struct tda8290_priv *priv = fe->analog_demod_priv;
576 if (fe->ops.analog_ops.i2c_gate_ctrl)
577 fe->ops.analog_ops.i2c_gate_ctrl(fe, 1);
595 if (fe->ops.analog_ops.i2c_gate_ctrl)
596 fe->ops.analog_ops.i2c_gate_ctrl(fe, 0);
619 if (fe->ops.analog_ops.i2c_gate_ctrl)
620 fe->ops.analog_ops.i2c_gate_ctrl(fe, 1);
625 if (fe->ops.analog_ops.i2c_gate_ctrl)
626 fe->ops.analog_ops.i2c_gate_ctrl(fe, 0);
634 dvb_attach(tda18271_attach, fe, priv->tda827x_addr,
642 dvb_attach(tda827x_attach, fe, priv->tda827x_addr,
646 if (fe->ops.tuner_ops.init)
647 fe->ops.tuner_ops.init(fe);
649 if (fe->ops.tuner_ops.sleep)
650 fe->ops.tuner_ops.sleep(fe);
652 if (fe->ops.analog_ops.i2c_gate_ctrl)
653 fe->ops.analog_ops.i2c_gate_ctrl(fe, 0);
730 struct dvb_frontend *tda829x_attach(struct dvb_frontend *fe,
740 fe->analog_demod_priv = priv;
752 memcpy(&fe->ops.analog_ops, &tda8290_ops,
758 memcpy(&fe->ops.analog_ops, &tda8295_ops,
763 fe->ops.analog_ops.i2c_gate_ctrl = NULL;
766 tda8295_power(fe, 1);
767 if (tda829x_find_tuner(fe) < 0)
801 fe->ops.analog_ops.info.name = name;
805 tda8290_init_tuner(fe);
806 tda8290_init_if(fe);
808 tda8295_init_if(fe);
810 return fe;
813 memset(&fe->ops.analog_ops, 0, sizeof(struct analog_demod_ops));
815 tda829x_release(fe);