]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
[media] tua6100: use DVBv5 parameters on set_params()
authorMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 23 Dec 2011 20:56:57 +0000 (17:56 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 31 Dec 2011 10:36:38 +0000 (08:36 -0200)
Instead of using DVBv3 parameters, rely on DVBv5 parameters to
set the tuner

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/frontends/tua6100.c

index bcb95c2ef296092dfb50fcc18196cd5204fe97eb..7842e620e6b34a8e4e9ebed1498fcc6ce43bb61a 100644 (file)
@@ -70,6 +70,7 @@ static int tua6100_sleep(struct dvb_frontend *fe)
 static int tua6100_set_params(struct dvb_frontend *fe,
                              struct dvb_frontend_parameters *params)
 {
+       struct dtv_frontend_properties *c = &fe->dtv_property_cache;
        struct tua6100_priv *priv = fe->tuner_priv;
        u32 div;
        u32 prediv;
@@ -85,36 +86,37 @@ static int tua6100_set_params(struct dvb_frontend *fe,
 #define _ri 4000000
 
        // setup register 0
-       if (params->frequency < 2000000) {
+       if (c->frequency < 2000000)
                reg0[1] = 0x03;
-       } else {
+       else
                reg0[1] = 0x07;
-       }
 
        // setup register 1
-       if (params->frequency < 1630000) {
+       if (c->frequency < 1630000)
                reg1[1] = 0x2c;
-       } else {
+       else
                reg1[1] = 0x0c;
-       }
+
        if (_P == 64)
                reg1[1] |= 0x40;
-       if (params->frequency >= 1525000)
+       if (c->frequency >= 1525000)
                reg1[1] |= 0x80;
 
        // register 2
        reg2[1] = (_R >> 8) & 0x03;
        reg2[2] = _R;
-       if (params->frequency < 1455000) {
+       if (c->frequency < 1455000)
                reg2[1] |= 0x1c;
-       } else if (params->frequency < 1630000) {
+       else if (c->frequency < 1630000)
                reg2[1] |= 0x0c;
-       } else {
+       else
                reg2[1] |= 0x1c;
-       }
 
-       // The N divisor ratio (note: params->frequency is in kHz, but we need it in Hz)
-       prediv = (params->frequency * _R) / (_ri / 1000);
+       /*
+        * The N divisor ratio (note: c->frequency is in kHz, but we
+        * need it in Hz)
+        */
+       prediv = (c->frequency * _R) / (_ri / 1000);
        div = prediv / _P;
        reg1[1] |= (div >> 9) & 0x03;
        reg1[2] = div >> 1;