diff options
Diffstat (limited to 'drivers/media/v4l2-core/tuner-core.c')
-rw-r--r-- | drivers/media/v4l2-core/tuner-core.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/media/v4l2-core/tuner-core.c b/drivers/media/v4l2-core/tuner-core.c index f775768d088..dd8a803fb11 100644 --- a/drivers/media/v4l2-core/tuner-core.c +++ b/drivers/media/v4l2-core/tuner-core.c @@ -253,7 +253,7 @@ static int fe_set_config(struct dvb_frontend *fe, void *priv_cfg) static void tuner_status(struct dvb_frontend *fe); -static struct analog_demod_ops tuner_analog_ops = { +static const struct analog_demod_ops tuner_analog_ops = { .set_params = fe_set_params, .standby = fe_standby, .has_signal = fe_has_signal, @@ -453,6 +453,11 @@ static void set_type(struct i2c_client *c, unsigned int type, memcpy(analog_ops, &tuner_analog_ops, sizeof(struct analog_demod_ops)); + if (fe_tuner_ops->get_rf_strength == NULL) + analog_ops->has_signal = NULL; + if (fe_tuner_ops->get_afc == NULL) + analog_ops->get_afc = NULL; + } else { t->name = analog_ops->info.name; } |