diff options
author | Michael Krufky <mkrufky@linuxtv.org> | 2012-10-01 22:50:37 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-10-02 14:16:04 -0400 |
commit | 6b82e0cfc15ec7e635eea83b04e1544ab64f81ad (patch) | |
tree | b123695c84c829ef6f32de02c0dd4e990701fc06 /drivers/media | |
parent | e48307a90e66855d89c10dd3eb13a082c4a6b8e4 (diff) |
[media] tda18271: delay IR & RF calibration until init() if delay_cal is set
if the configuration option 'delay_cal' is set, delay both IR & RF
calibration until init() is called.
both module option 'cal' or configuration option 'rf_cal_on_startup'
will override this delay. it makes no sense to mix 'delay_cal' with
'rf_cal_on_startup' as these options conflict with each other.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/tuners/tda18271-fe.c | 5 | ||||
-rw-r--r-- | drivers/media/tuners/tda18271.h | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/drivers/media/tuners/tda18271-fe.c b/drivers/media/tuners/tda18271-fe.c index de21197ca4b9..ca202da9d4c9 100644 --- a/drivers/media/tuners/tda18271-fe.c +++ b/drivers/media/tuners/tda18271-fe.c | |||
@@ -1278,6 +1278,11 @@ struct dvb_frontend *tda18271_attach(struct dvb_frontend *fe, u8 addr, | |||
1278 | if (tda_fail(ret)) | 1278 | if (tda_fail(ret)) |
1279 | goto fail; | 1279 | goto fail; |
1280 | 1280 | ||
1281 | /* if delay_cal is set, delay IR & RF calibration until init() | ||
1282 | * module option 'cal' overrides this delay */ | ||
1283 | if ((cfg->delay_cal) && (!tda18271_need_cal_on_startup(cfg))) | ||
1284 | break; | ||
1285 | |||
1281 | mutex_lock(&priv->lock); | 1286 | mutex_lock(&priv->lock); |
1282 | tda18271_init_regs(fe); | 1287 | tda18271_init_regs(fe); |
1283 | 1288 | ||
diff --git a/drivers/media/tuners/tda18271.h b/drivers/media/tuners/tda18271.h index 640bae4e6a5a..89b6c6d93fec 100644 --- a/drivers/media/tuners/tda18271.h +++ b/drivers/media/tuners/tda18271.h | |||
@@ -105,6 +105,11 @@ struct tda18271_config { | |||
105 | /* force rf tracking filter calibration on startup */ | 105 | /* force rf tracking filter calibration on startup */ |
106 | unsigned int rf_cal_on_startup:1; | 106 | unsigned int rf_cal_on_startup:1; |
107 | 107 | ||
108 | /* prevent any register access during attach(), | ||
109 | * delaying both IR & RF calibration until init() | ||
110 | * module option 'cal' overrides this delay */ | ||
111 | unsigned int delay_cal:1; | ||
112 | |||
108 | /* interface to saa713x / tda829x */ | 113 | /* interface to saa713x / tda829x */ |
109 | unsigned int config; | 114 | unsigned int config; |
110 | }; | 115 | }; |