diff options
author | Antti Palosaari <crope@iki.fi> | 2009-03-10 12:06:40 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-03-13 00:17:33 -0400 |
commit | 5f77af93266e107bd46c010c51d772c0fb003232 (patch) | |
tree | 674daa915610a7a29715951d203580ad95b2ef5d | |
parent | e08e7b5f01de7ec246b996c65e9c26c7cea0c62d (diff) |
V4L/DVB (10972): zl10353: i2c_gate_ctrl bug fix
zl10353 i2c-gate was always closed and due to that devices having tuner
behind i2c-gate were broken. Add module configuration which allows disabling
i2c-gate only when really needed.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/dvb/frontends/zl10353.c | 2 | ||||
-rw-r--r-- | drivers/media/dvb/frontends/zl10353.h | 3 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 1 |
3 files changed, 5 insertions, 1 deletions
diff --git a/drivers/media/dvb/frontends/zl10353.c b/drivers/media/dvb/frontends/zl10353.c index 170720b02815..b150ed306696 100644 --- a/drivers/media/dvb/frontends/zl10353.c +++ b/drivers/media/dvb/frontends/zl10353.c | |||
@@ -590,7 +590,7 @@ static int zl10353_i2c_gate_ctrl(struct dvb_frontend* fe, int enable) | |||
590 | struct zl10353_state *state = fe->demodulator_priv; | 590 | struct zl10353_state *state = fe->demodulator_priv; |
591 | u8 val = 0x0a; | 591 | u8 val = 0x0a; |
592 | 592 | ||
593 | if (state->config.no_tuner) { | 593 | if (state->config.disable_i2c_gate_ctrl) { |
594 | /* No tuner attached to the internal I2C bus */ | 594 | /* No tuner attached to the internal I2C bus */ |
595 | /* If set enable I2C bridge, the main I2C bus stopped hardly */ | 595 | /* If set enable I2C bridge, the main I2C bus stopped hardly */ |
596 | return 0; | 596 | return 0; |
diff --git a/drivers/media/dvb/frontends/zl10353.h b/drivers/media/dvb/frontends/zl10353.h index fdbb88ff75fe..2287bac46243 100644 --- a/drivers/media/dvb/frontends/zl10353.h +++ b/drivers/media/dvb/frontends/zl10353.h | |||
@@ -38,6 +38,9 @@ struct zl10353_config | |||
38 | 38 | ||
39 | /* set if parallel ts output is required */ | 39 | /* set if parallel ts output is required */ |
40 | int parallel_ts; | 40 | int parallel_ts; |
41 | |||
42 | /* set if i2c_gate_ctrl disable is required */ | ||
43 | u8 disable_i2c_gate_ctrl:1; | ||
41 | }; | 44 | }; |
42 | 45 | ||
43 | #if defined(CONFIG_DVB_ZL10353) || (defined(CONFIG_DVB_ZL10353_MODULE) && defined(MODULE)) | 46 | #if defined(CONFIG_DVB_ZL10353) || (defined(CONFIG_DVB_ZL10353_MODULE) && defined(MODULE)) |
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c index 0776ecf56d27..b5370b3e1a3d 100644 --- a/drivers/media/video/saa7134/saa7134-dvb.c +++ b/drivers/media/video/saa7134/saa7134-dvb.c | |||
@@ -860,6 +860,7 @@ static struct zl10353_config behold_h6_config = { | |||
860 | .demod_address = 0x1e>>1, | 860 | .demod_address = 0x1e>>1, |
861 | .no_tuner = 1, | 861 | .no_tuner = 1, |
862 | .parallel_ts = 1, | 862 | .parallel_ts = 1, |
863 | .disable_i2c_gate_ctrl = 1, | ||
863 | }; | 864 | }; |
864 | 865 | ||
865 | /* ================================================================== | 866 | /* ================================================================== |