diff options
author | Michael Krufky <mkrufky@linuxtv.org> | 2007-12-24 04:36:14 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-01-25 19:04:20 -0200 |
commit | c90762799c42df203fc2c9c1a2ac39f154f8faca (patch) | |
tree | 3ceeb7cea8cc1ae0e5b94d1ae99c144d985a8006 | |
parent | fe0bf6d783d8057bd3dd0dd69613a390d6986c47 (diff) |
V4L/DVB (6908): tda8290: add the option not to probe for tuners passed into tda829x_config
Prevent the tda8290 module from probing for tuners during tda829x_attach,
by passing:
.probe_tuner = TDA829X_DONT_PROBE,
...in struct tda829x_config
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/video/tda8290.c | 9 | ||||
-rw-r--r-- | drivers/media/video/tda8290.h | 4 |
2 files changed, 12 insertions, 1 deletions
diff --git a/drivers/media/video/tda8290.c b/drivers/media/video/tda8290.c index 2e1d9b663a91..bb62d5629af2 100644 --- a/drivers/media/video/tda8290.c +++ b/drivers/media/video/tda8290.c @@ -688,10 +688,17 @@ struct dvb_frontend *tda829x_attach(struct dvb_frontend *fe, sizeof(struct analog_demod_ops)); } - if (tda829x_find_tuner(fe) < 0) + if ((!(cfg) || (TDA829X_PROBE_TUNER == cfg->probe_tuner)) && + (tda829x_find_tuner(fe) < 0)) goto fail; switch (priv->ver) { + case TDA8290: + name = "tda8290"; + break; + case TDA8295: + name = "tda8295"; + break; case TDA8290 | TDA8275: name = "tda8290+75"; break; diff --git a/drivers/media/video/tda8290.h b/drivers/media/video/tda8290.h index 7bce03183d08..dc8ef310b7b2 100644 --- a/drivers/media/video/tda8290.h +++ b/drivers/media/video/tda8290.h @@ -23,6 +23,10 @@ struct tda829x_config { unsigned int *lna_cfg; int (*tuner_callback) (void *dev, int command, int arg); + + unsigned int probe_tuner:1; +#define TDA829X_PROBE_TUNER 0 +#define TDA829X_DONT_PROBE 1 }; #if defined(CONFIG_TUNER_TDA8290) || (defined(CONFIG_TUNER_TDA8290_MODULE) && defined(MODULE)) |