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))