]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
[media] media: drx39xyj - use drxj_set_lna_state() and remove duplicate LNA code
authorShuah Khan <shuah.kh@samsung.com>
Thu, 24 Jul 2014 20:29:28 +0000 (17:29 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Sat, 26 Jul 2014 14:22:51 +0000 (11:22 -0300)
drx39xxj_set_lna() and drx39xxj_set_frontend() set LNA. Instead of
duplicating LNA configure code, change to use drxj_set_lna_state()
which sets LNA to the caller requested state (on or off).

Signed-off-by: Shuah Khan <shuah.kh@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/dvb-frontends/drx39xyj/drxj.c

index bcf0a23be878abdb75407f41e962f7a2e527b56b..200554d5f32c392657d46ff038159035339c2a3c 100644 (file)
@@ -12154,13 +12154,7 @@ static int drx39xxj_set_frontend(struct dvb_frontend *fe)
                return -EINVAL;
        }
        /* Just for giggles, let's shut off the LNA again.... */
-       uio_data.uio = DRX_UIO1;
-       uio_data.value = false;
-       result = ctrl_uio_write(demod, &uio_data);
-       if (result != 0) {
-               pr_err("Failed to disable LNA!\n");
-               return 0;
-       }
+       drxj_set_lna_state(demod, false);
 
        /* After set_frontend, except for strength, stats aren't available */
        p->strength.stat[0].scale = FE_SCALE_RELATIVE;
@@ -12243,26 +12237,7 @@ static int drx39xxj_set_lna(struct dvb_frontend *fe)
                }
        }
 
-       /* Turn off the LNA */
-       uio_cfg.uio = DRX_UIO1;
-       uio_cfg.mode = DRX_UIO_MODE_READWRITE;
-       /* Configure user-I/O #3: enable read/write */
-       result = ctrl_set_uio_cfg(demod, &uio_cfg);
-       if (result) {
-               pr_err("Failed to setup LNA GPIO!\n");
-               return result;
-       }
-
-       uio_data.uio = DRX_UIO1;
-       uio_data.value = c->lna;
-       result = ctrl_uio_write(demod, &uio_data);
-       if (result != 0) {
-               pr_err("Failed to %sable LNA!\n",
-                      c->lna ? "en" : "dis");
-               return result;
-       }
-
-       return 0;
+       return drxj_set_lna_state(demod, c->lna);
 }
 
 static int drx39xxj_get_tune_settings(struct dvb_frontend *fe,