aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx88/cx88-i2c.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/cx88/cx88-i2c.c')
-rw-r--r--drivers/media/video/cx88/cx88-i2c.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/drivers/media/video/cx88/cx88-i2c.c b/drivers/media/video/cx88/cx88-i2c.c
index 4a8fb161b16a..7363dd6e66e2 100644
--- a/drivers/media/video/cx88/cx88-i2c.c
+++ b/drivers/media/video/cx88/cx88-i2c.c
@@ -135,7 +135,20 @@ void cx88_call_i2c_clients(struct cx88_core *core, unsigned int cmd, void *arg)
135{ 135{
136 if (0 != core->i2c_rc) 136 if (0 != core->i2c_rc)
137 return; 137 return;
138 i2c_clients_command(&core->i2c_adap, cmd, arg); 138
139 if (core->dvbdev == NULL) {
140 i2c_clients_command(&core->i2c_adap, cmd, arg);
141 } else {
142
143 if (core->dvbdev->dvb.frontend->ops->i2c_gate_ctrl)
144 core->dvbdev->dvb.frontend->ops->i2c_gate_ctrl(core->dvbdev->dvb.frontend, 1);
145
146 i2c_clients_command(&core->i2c_adap, cmd, arg);
147
148 if (core->dvbdev->dvb.frontend->ops->i2c_gate_ctrl)
149 core->dvbdev->dvb.frontend->ops->i2c_gate_ctrl(core->dvbdev->dvb.frontend, 0);
150 }
151
139} 152}
140 153
141static struct i2c_algo_bit_data cx8800_i2c_algo_template = { 154static struct i2c_algo_bit_data cx8800_i2c_algo_template = {