V4L/DVB (12867): tda18271: ensure that configuration options are set for multiple instances
For the case of multiple tuner instances, ensure that non-default configuration options are saved into the driver's state. This resolves an issue where a configuration option may not be carried into the driver if the analog side of a hybrid driver initializes before the digital side. Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
1216531a1f
commit
d5abef6be1
|
@ -1258,9 +1258,19 @@ struct dvb_frontend *tda18271_attach(struct dvb_frontend *fe, u8 addr,
|
|||
/* existing tuner instance */
|
||||
fe->tuner_priv = priv;
|
||||
|
||||
/* allow dvb driver to override i2c gate setting */
|
||||
if ((cfg) && (cfg->gate != TDA18271_GATE_ANALOG))
|
||||
/* allow dvb driver to override configuration settings */
|
||||
if (cfg) {
|
||||
if (cfg->gate != TDA18271_GATE_ANALOG)
|
||||
priv->gate = cfg->gate;
|
||||
if (cfg->role)
|
||||
priv->role = cfg->role;
|
||||
if (cfg->config)
|
||||
priv->config = cfg->config;
|
||||
if (cfg->small_i2c)
|
||||
priv->small_i2c = cfg->small_i2c;
|
||||
if (cfg->output_opt)
|
||||
priv->output_opt = cfg->output_opt;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue