diff options
Diffstat (limited to 'drivers/media/dvb-frontends/m88rs2000.c')
-rw-r--r-- | drivers/media/dvb-frontends/m88rs2000.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/media/dvb-frontends/m88rs2000.c b/drivers/media/dvb-frontends/m88rs2000.c index ee2fec87c2e6..32cffca14d0b 100644 --- a/drivers/media/dvb-frontends/m88rs2000.c +++ b/drivers/media/dvb-frontends/m88rs2000.c | |||
@@ -715,6 +715,22 @@ static int m88rs2000_get_frontend(struct dvb_frontend *fe) | |||
715 | return 0; | 715 | return 0; |
716 | } | 716 | } |
717 | 717 | ||
718 | static int m88rs2000_get_tune_settings(struct dvb_frontend *fe, | ||
719 | struct dvb_frontend_tune_settings *tune) | ||
720 | { | ||
721 | struct dtv_frontend_properties *c = &fe->dtv_property_cache; | ||
722 | |||
723 | if (c->symbol_rate > 3000000) | ||
724 | tune->min_delay_ms = 2000; | ||
725 | else | ||
726 | tune->min_delay_ms = 3000; | ||
727 | |||
728 | tune->step_size = c->symbol_rate / 16000; | ||
729 | tune->max_drift = c->symbol_rate / 2000; | ||
730 | |||
731 | return 0; | ||
732 | } | ||
733 | |||
718 | static int m88rs2000_i2c_gate_ctrl(struct dvb_frontend *fe, int enable) | 734 | static int m88rs2000_i2c_gate_ctrl(struct dvb_frontend *fe, int enable) |
719 | { | 735 | { |
720 | struct m88rs2000_state *state = fe->demodulator_priv; | 736 | struct m88rs2000_state *state = fe->demodulator_priv; |
@@ -766,6 +782,7 @@ static struct dvb_frontend_ops m88rs2000_ops = { | |||
766 | 782 | ||
767 | .set_frontend = m88rs2000_set_frontend, | 783 | .set_frontend = m88rs2000_set_frontend, |
768 | .get_frontend = m88rs2000_get_frontend, | 784 | .get_frontend = m88rs2000_get_frontend, |
785 | .get_tune_settings = m88rs2000_get_tune_settings, | ||
769 | }; | 786 | }; |
770 | 787 | ||
771 | struct dvb_frontend *m88rs2000_attach(const struct m88rs2000_config *config, | 788 | struct dvb_frontend *m88rs2000_attach(const struct m88rs2000_config *config, |