Skip to contentSkip to conversation

IX2505V Keep I2C gate control alive.

PATCH New Malcolm Priestley 1 participant 1 message Apr 22, 2011 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 IX2505V Keep I2C gate control alive.

Gate could close after first I2C message. On stv0288 it does.
Keep 2nd and 3rd message I2C gate control alive. Remove unnecessary gate closing in this module.

---
 drivers/media/dvb/frontends/ix2505v.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)
drivers/media/dvb/frontends/ix2505v.c +6 -4
index 6c2e929..9a517a4 100644
@@ -218,11 +218,13 @@ static int ix2505v_set_params(struct dvb_frontend *fe,
 		fe->ops.i2c_gate_ctrl(fe, 1);
 
 	len = sizeof(data);
-
 	ret |= ix2505v_write(state, data, len);
 
 	data[2] |= 0x4; /* set TM = 1 other bits same */
 
+	if (fe->ops.i2c_gate_ctrl)
+		fe->ops.i2c_gate_ctrl(fe, 1);
+
 	len = 1;
 	ret |= ix2505v_write(state, &data[2], len); /* write byte 4 only */
 
@@ -233,12 +235,12 @@ static int ix2505v_set_params(struct dvb_frontend *fe,
 
 	deb_info("Data 2=[%x%x]\n", data[2], data[3]);
 
+	if (fe->ops.i2c_gate_ctrl)
+		fe->ops.i2c_gate_ctrl(fe, 1);
+
 	len = 2;
 	ret |= ix2505v_write(state, &data[2], len); /* write byte 4 & 5 */
 
-	if (fe->ops.i2c_gate_ctrl)
-		fe->ops.i2c_gate_ctrl(fe, 0);
-
 	if (state->config->min_delay_ms)
 		msleep(state->config->min_delay_ms);
 
Signature · 1 line
1.7.4.1