From fc74cb8cfeb76ca00f6699e238ae9c8e42ad7a3b Mon Sep 17 00:00:00 2001 From: Michael Krufky Date: Sat, 24 Oct 2009 18:18:03 -0300 Subject: [PATCH] --- yaml --- r: 174001 b: refs/heads/master c: 188ea058ff2e671270273a1f5d13f46ca75b8a35 h: refs/heads/master i: 173999: 6a0478df1794cf12fa17cef33f4115f8222cd962 v: v3 --- [refs] | 2 +- trunk/drivers/media/common/tuners/tda18271-fe.c | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index c50f976d04c0..aa7f4bdd2077 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c54e1dde586ea0e930d6c443ca60a9b9d0310de3 +refs/heads/master: 188ea058ff2e671270273a1f5d13f46ca75b8a35 diff --git a/trunk/drivers/media/common/tuners/tda18271-fe.c b/trunk/drivers/media/common/tuners/tda18271-fe.c index 24f1d38081e6..8b934f48b6f3 100644 --- a/trunk/drivers/media/common/tuners/tda18271-fe.c +++ b/trunk/drivers/media/common/tuners/tda18271-fe.c @@ -1249,7 +1249,7 @@ struct dvb_frontend *tda18271_attach(struct dvb_frontend *fe, u8 addr, struct tda18271_config *cfg) { struct tda18271_priv *priv = NULL; - int instance; + int instance, rf_cal_on_startup = 0; mutex_lock(&tda18271_list_mutex); @@ -1262,8 +1262,6 @@ struct dvb_frontend *tda18271_attach(struct dvb_frontend *fe, u8 addr, case 1: { /* new tuner instance */ - int rf_cal_on_startup; - fe->tuner_priv = priv; tda18271_setup_configuration(fe, cfg); @@ -1315,7 +1313,20 @@ struct dvb_frontend *tda18271_attach(struct dvb_frontend *fe, u8 addr, priv->output_opt = cfg->output_opt; if (cfg->std_map) tda18271_update_std_map(fe, cfg->std_map); + + /* tda18271_cal_on_startup == -1 when cal + * module option is unset */ + if (tda18271_cal_on_startup == -1) { + /* honor attach-time configuration */ + rf_cal_on_startup = + (cfg->rf_cal_on_startup) ? 1 : 0; + } else { + /* module option overrides attach config */ + rf_cal_on_startup = tda18271_cal_on_startup; + } } + if (rf_cal_on_startup) + tda18271_init(fe); break; }