[media] m88rs2000: LNB voltage control implemented
authorIgor M. Liplianin <liplianin@me.by>
Tue, 8 May 2012 07:25:24 +0000 (04:25 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 20 May 2012 15:13:32 +0000 (12:13 -0300)
Trival patch to get it working with my cards stuff.

Signed-off-by: Igor M. Liplianin <liplianin@me.by>
Acked-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/frontends/m88rs2000.c

index 82cc145424793677d64a27fbe56a9e028ea7029c..0ad5bd8c1834c853d2b4f6d0a3ca154526ff09de 100644 (file)
@@ -416,9 +416,25 @@ static int m88rs2000_tab_set(struct m88rs2000_state *state,
 
 static int m88rs2000_set_voltage(struct dvb_frontend *fe, fe_sec_voltage_t volt)
 {
-       deb_info("%s: %s\n", __func__,
-               volt == SEC_VOLTAGE_13 ? "SEC_VOLTAGE_13" :
-               volt == SEC_VOLTAGE_18 ? "SEC_VOLTAGE_18" : "??");
+       struct m88rs2000_state *state = fe->demodulator_priv;
+       u8 data;
+
+       data = m88rs2000_demod_read(state, 0xb2);
+       data |= 0x03; /* bit0 V/H, bit1 off/on */
+
+       switch (volt) {
+       case SEC_VOLTAGE_18:
+               data &= ~0x03;
+               break;
+       case SEC_VOLTAGE_13:
+               data &= ~0x03;
+               data |= 0x01;
+               break;
+       case SEC_VOLTAGE_OFF:
+               break;
+       }
+
+       m88rs2000_demod_write(state, 0xb2, data);
 
        return 0;
 }