V4L/DVB (4284): Cx24123: fix set_voltage function according to the specs
authorSaqeb Akhter <johoja@gmail.com>
Thu, 29 Jun 2006 23:29:29 +0000 (20:29 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Fri, 30 Jun 2006 18:59:45 +0000 (15:59 -0300)
The set_voltage function in cx24123.c was corrected to match how it is
described in the CX24123 specs, producing the correct behaviour for cards
that require it.
Acked-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Saqeb Akhter <johoja@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/dvb/frontends/cx24123.c

index f2f795cba56aec2b18fc03b0c99f8bbe32820c5d..274a87b7a5d5fe8e54acf887aaeaa155bd82def1 100644 (file)
@@ -670,10 +670,10 @@ static int cx24123_set_voltage(struct dvb_frontend* fe, fe_sec_voltage_t voltage
        switch (voltage) {
        case SEC_VOLTAGE_13:
                dprintk("%s: setting voltage 13V\n", __FUNCTION__);
-               return cx24123_writereg(state, 0x29, val | 0x80);
+               return cx24123_writereg(state, 0x29, val & 0x7f);
        case SEC_VOLTAGE_18:
                dprintk("%s: setting voltage 18V\n", __FUNCTION__);
-               return cx24123_writereg(state, 0x29, val & 0x7f);
+               return cx24123_writereg(state, 0x29, val | 0x80);
        default:
                return -EINVAL;
        };