diff options
author | Michael Krufky <mkrufky@kernellabs.com> | 2009-08-30 02:07:10 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-09-18 23:13:47 -0400 |
commit | d5abef6be1715040ac50e834bc042031f7613fa9 (patch) | |
tree | 496a99bc85a06f542ba75b193f89bc6df06480f0 /drivers/media/common | |
parent | 1216531a1f416df24f67ca8e626df9b3c91e5c75 (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')
-rw-r--r-- | drivers/media/common/tuners/tda18271-fe.c | 16 |
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 | ||