aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/common/tuners/tda18271-fe.c
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@kernellabs.com>2009-08-30 02:07:10 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-09-18 23:13:47 -0400
commitd5abef6be1715040ac50e834bc042031f7613fa9 (patch)
tree496a99bc85a06f542ba75b193f89bc6df06480f0 /drivers/media/common/tuners/tda18271-fe.c
parent1216531a1f416df24f67ca8e626df9b3c91e5c75 (diff)
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>
Diffstat (limited to 'drivers/media/common/tuners/tda18271-fe.c')
-rw-r--r--drivers/media/common/tuners/tda18271-fe.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/drivers/media/common/tuners/tda18271-fe.c b/drivers/media/common/tuners/tda18271-fe.c
index 063c7987d310..152df76cdce8 100644
--- a/drivers/media/common/tuners/tda18271-fe.c
+++ b/drivers/media/common/tuners/tda18271-fe.c
@@ -1258,9 +1258,19 @@ struct dvb_frontend *tda18271_attach(struct dvb_frontend *fe, u8 addr,
1258 /* existing tuner instance */ 1258 /* existing tuner instance */
1259 fe->tuner_priv = priv; 1259 fe->tuner_priv = priv;
1260 1260
1261 /* allow dvb driver to override i2c gate setting */ 1261 /* allow dvb driver to override configuration settings */
1262 if ((cfg) && (cfg->gate != TDA18271_GATE_ANALOG)) 1262 if (cfg) {
1263 priv->gate = cfg->gate; 1263 if (cfg->gate != TDA18271_GATE_ANALOG)
1264 priv->gate = cfg->gate;
1265 if (cfg->role)
1266 priv->role = cfg->role;
1267 if (cfg->config)
1268 priv->config = cfg->config;
1269 if (cfg->small_i2c)
1270 priv->small_i2c = cfg->small_i2c;
1271 if (cfg->output_opt)
1272 priv->output_opt = cfg->output_opt;
1273 }
1264 break; 1274 break;
1265 } 1275 }
1266 1276