V4L/DVB (13336): stv0900: config definition for single/dual mode
authorIgor M. Liplianin <liplianin@netup.ru>
Sat, 17 Oct 2009 11:58:26 +0000 (08:58 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 5 Dec 2009 20:41:24 +0000 (18:41 -0200)
Signed-off-by: Igor M. Liplianin <liplianin@netup.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/frontends/stv0900.h
drivers/media/dvb/frontends/stv0900_core.c
drivers/media/video/cx23885/cx23885-dvb.c

index bf4e9b6..446bdfc 100644 (file)
@@ -36,6 +36,7 @@ struct stv0900_reg {
 
 struct stv0900_config {
        u8 demod_address;
+       u8 demod_mode;
        u32 xtal;
        u8 clkmode;/* 0 for CLKI,  2 for XTALI */
 
index 4729be7..c8c72f5 100644 (file)
@@ -1400,7 +1400,7 @@ static enum fe_stv0900_error stv0900_init_internal(struct dvb_frontend *fe,
 
        dprintk("%s\n", __func__);
 
-       if (temp_int != NULL) {
+       if ((temp_int != NULL) && (p_init->demod_mode == STV0900_DUAL)) {
                state->internal = temp_int->internal;
                (state->internal->dmds_used)++;
                dprintk("%s: Find Internal Structure!\n", __func__);
@@ -1972,7 +1972,7 @@ struct dvb_frontend *stv0900_attach(const struct stv0900_config *config,
        case 0:
        case 1:
                init_params.dmd_ref_clk         = config->xtal;
-               init_params.demod_mode          = STV0900_DUAL;
+               init_params.demod_mode          = config->demod_mode;
                init_params.rolloff             = STV0900_35;
                init_params.path1_ts_clock      = config->path1_mode;
                init_params.tun1_maddress       = config->tun1_maddress;
index 305f471..44e5fad 100644 (file)
@@ -400,6 +400,7 @@ static struct stv0900_reg stv0900_ts_regs[] = {
 
 static struct stv0900_config netup_stv0900_config = {
        .demod_address = 0x68,
+       .demod_mode = 1, /* dual */
        .xtal = 8000000,
        .clkmode = 3,/* 0-CLKI, 2-XTALI, else AUTO */
        .diseqc_mode = 2,/* 2/3 PWM */