| |
| static unsigned int mt2063_setTune(struct dvb_frontend *fe, UData_t f_in, |
| UData_t bw_in, |
| enum MTTune_atv_standard tv_type) |
| { |
| //return (int)MT_Tune_atv(h, f_in, bw_in, tv_type); |
| |
| struct dvb_frontend_ops *frontend_ops = NULL; |
| struct dvb_tuner_ops *tuner_ops = NULL; |
| struct tuner_state t_state; |
| struct mt2063_state *mt2063State = fe->tuner_priv; |
| int err = 0; |
| |
| t_state.frequency = f_in; |
| t_state.bandwidth = bw_in; |
| mt2063State->tv_type = tv_type; |
| if (&fe->ops) |
| frontend_ops = &fe->ops; |
| if (&frontend_ops->tuner_ops) |
| tuner_ops = &frontend_ops->tuner_ops; |
| if (tuner_ops->set_state) { |
| if ((err = |
| tuner_ops->set_state(fe, DVBFE_TUNER_FREQUENCY, |
| &t_state)) < 0) { |
| printk("%s: Invalid parameter\n", __func__); |
| return err; |
| } |
| } |
| |
| return err; |
| } |
| |
| static unsigned int mt2063_lockStatus(struct dvb_frontend *fe) |
| { |
| struct dvb_frontend_ops *frontend_ops = &fe->ops; |
| struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops; |
| struct tuner_state t_state; |
| int err = 0; |
| |
| if (&fe->ops) |
| frontend_ops = &fe->ops; |
| if (&frontend_ops->tuner_ops) |
| tuner_ops = &frontend_ops->tuner_ops; |
| if (tuner_ops->get_state) { |
| if ((err = |
| tuner_ops->get_state(fe, DVBFE_TUNER_REFCLOCK, |
| &t_state)) < 0) { |
| printk("%s: Invalid parameter\n", __func__); |
| return err; |
| } |
| } |
| return err; |
| } |
| |
| static unsigned int tuner_MT2063_Open(struct dvb_frontend *fe) |
| { |
| struct dvb_frontend_ops *frontend_ops = &fe->ops; |
| struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops; |
| struct tuner_state t_state; |
| int err = 0; |
| |
| if (&fe->ops) |
| frontend_ops = &fe->ops; |
| if (&frontend_ops->tuner_ops) |
| tuner_ops = &frontend_ops->tuner_ops; |
| if (tuner_ops->set_state) { |
| if ((err = |
| tuner_ops->set_state(fe, DVBFE_TUNER_OPEN, |
| &t_state)) < 0) { |
| printk("%s: Invalid parameter\n", __func__); |
| return err; |
| } |
| } |
| |
| return err; |
| } |
| |
| static unsigned int tuner_MT2063_SoftwareShutdown(struct dvb_frontend *fe) |
| { |
| struct dvb_frontend_ops *frontend_ops = &fe->ops; |
| struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops; |
| struct tuner_state t_state; |
| int err = 0; |
| |
| if (&fe->ops) |
| frontend_ops = &fe->ops; |
| if (&frontend_ops->tuner_ops) |
| tuner_ops = &frontend_ops->tuner_ops; |
| if (tuner_ops->set_state) { |
| if ((err = |
| tuner_ops->set_state(fe, DVBFE_TUNER_SOFTWARE_SHUTDOWN, |
| &t_state)) < 0) { |
| printk("%s: Invalid parameter\n", __func__); |
| return err; |
| } |
| } |
| |
| return err; |
| } |
| |
| static unsigned int tuner_MT2063_ClearPowerMaskBits(struct dvb_frontend *fe) |
| { |
| struct dvb_frontend_ops *frontend_ops = &fe->ops; |
| struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops; |
| struct tuner_state t_state; |
| int err = 0; |
| |
| if (&fe->ops) |
| frontend_ops = &fe->ops; |
| if (&frontend_ops->tuner_ops) |
| tuner_ops = &frontend_ops->tuner_ops; |
| if (tuner_ops->set_state) { |
| if ((err = |
| tuner_ops->set_state(fe, DVBFE_TUNER_CLEAR_POWER_MASKBITS, |
| &t_state)) < 0) { |
| printk("%s: Invalid parameter\n", __func__); |
| return err; |
| } |
| } |
| |
| return err; |
| } |