aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends/m88rs2000.c
diff options
context:
space:
mode:
authorIgor M. Liplianin <liplianin@me.by>2012-05-08 03:25:24 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-05-20 11:13:32 -0400
commit38431a98a183b37b4512225d1a95336d82efbf9b (patch)
treef2bbf2c9c7f0ed68a495da35d611b75c443b0cdf /drivers/media/dvb/frontends/m88rs2000.c
parent6ae009a8ba512d5b07386bbb1172cfd7a02986aa (diff)
[media] m88rs2000: LNB voltage control implemented
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>
Diffstat (limited to 'drivers/media/dvb/frontends/m88rs2000.c')
-rw-r--r--drivers/media/dvb/frontends/m88rs2000.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/drivers/media/dvb/frontends/m88rs2000.c b/drivers/media/dvb/frontends/m88rs2000.c
index 82cc14542479..0ad5bd8c1834 100644
--- a/drivers/media/dvb/frontends/m88rs2000.c
+++ b/drivers/media/dvb/frontends/m88rs2000.c
@@ -416,9 +416,25 @@ static int m88rs2000_tab_set(struct m88rs2000_state *state,
416 416
417static int m88rs2000_set_voltage(struct dvb_frontend *fe, fe_sec_voltage_t volt) 417static int m88rs2000_set_voltage(struct dvb_frontend *fe, fe_sec_voltage_t volt)
418{ 418{
419 deb_info("%s: %s\n", __func__, 419 struct m88rs2000_state *state = fe->demodulator_priv;
420 volt == SEC_VOLTAGE_13 ? "SEC_VOLTAGE_13" : 420 u8 data;
421 volt == SEC_VOLTAGE_18 ? "SEC_VOLTAGE_18" : "??"); 421
422 data = m88rs2000_demod_read(state, 0xb2);
423 data |= 0x03; /* bit0 V/H, bit1 off/on */
424
425 switch (volt) {
426 case SEC_VOLTAGE_18:
427 data &= ~0x03;
428 break;
429 case SEC_VOLTAGE_13:
430 data &= ~0x03;
431 data |= 0x01;
432 break;
433 case SEC_VOLTAGE_OFF:
434 break;
435 }
436
437 m88rs2000_demod_write(state, 0xb2, data);
422 438
423 return 0; 439 return 0;
424} 440}