From 35c167bdb17cac568f3ef6734ef25b0407efa6d8 Mon Sep 17 00:00:00 2001 From: Michael Krufky Date: Mon, 1 Oct 2012 23:50:37 -0300 Subject: [PATCH] --- yaml --- r: 331251 b: refs/heads/master c: 6b82e0cfc15ec7e635eea83b04e1544ab64f81ad h: refs/heads/master i: 331249: ec2ae2055b1352d01bdef9792cd8932db0e40c66 331247: 6cea9a0c1246970d78ecb07a151976159188fafe v: v3 --- [refs] | 2 +- trunk/drivers/media/tuners/tda18271-fe.c | 5 +++++ trunk/drivers/media/tuners/tda18271.h | 5 +++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 681d9fd36e8a..015948e9eb5b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e48307a90e66855d89c10dd3eb13a082c4a6b8e4 +refs/heads/master: 6b82e0cfc15ec7e635eea83b04e1544ab64f81ad diff --git a/trunk/drivers/media/tuners/tda18271-fe.c b/trunk/drivers/media/tuners/tda18271-fe.c index de21197ca4b9..ca202da9d4c9 100644 --- a/trunk/drivers/media/tuners/tda18271-fe.c +++ b/trunk/drivers/media/tuners/tda18271-fe.c @@ -1278,6 +1278,11 @@ struct dvb_frontend *tda18271_attach(struct dvb_frontend *fe, u8 addr, if (tda_fail(ret)) goto fail; + /* if delay_cal is set, delay IR & RF calibration until init() + * module option 'cal' overrides this delay */ + if ((cfg->delay_cal) && (!tda18271_need_cal_on_startup(cfg))) + break; + mutex_lock(&priv->lock); tda18271_init_regs(fe); diff --git a/trunk/drivers/media/tuners/tda18271.h b/trunk/drivers/media/tuners/tda18271.h index 640bae4e6a5a..89b6c6d93fec 100644 --- a/trunk/drivers/media/tuners/tda18271.h +++ b/trunk/drivers/media/tuners/tda18271.h @@ -105,6 +105,11 @@ struct tda18271_config { /* force rf tracking filter calibration on startup */ unsigned int rf_cal_on_startup:1; + /* prevent any register access during attach(), + * delaying both IR & RF calibration until init() + * module option 'cal' overrides this delay */ + unsigned int delay_cal:1; + /* interface to saa713x / tda829x */ unsigned int config; };