Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Antti Palosaari and committed by
Mauro Carvalho Chehab
5f77af93 e08e7b5f

+5 -1
+1 -1
drivers/media/dvb/frontends/zl10353.c
··· 590 590 struct zl10353_state *state = fe->demodulator_priv; 591 591 u8 val = 0x0a; 592 592 593 - if (state->config.no_tuner) { 593 + if (state->config.disable_i2c_gate_ctrl) { 594 594 /* No tuner attached to the internal I2C bus */ 595 595 /* If set enable I2C bridge, the main I2C bus stopped hardly */ 596 596 return 0;
+3
drivers/media/dvb/frontends/zl10353.h
··· 38 38 39 39 /* set if parallel ts output is required */ 40 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 46 #if defined(CONFIG_DVB_ZL10353) || (defined(CONFIG_DVB_ZL10353_MODULE) && defined(MODULE))
+1
drivers/media/video/saa7134/saa7134-dvb.c
··· 860 860 .demod_address = 0x1e>>1, 861 861 .no_tuner = 1, 862 862 .parallel_ts = 1, 863 + .disable_i2c_gate_ctrl = 1, 863 864 }; 864 865 865 866 /* ==================================================================