From: Johannes Stezenbach Reset acgconf register after tuning to improve locking, as suggested by Marco Schluessler. Minor cleanups in ves1820_init(). Signed-off-by: Johannes Stezenbach Signed-off-by: Andrew Morton --- drivers/media/dvb/frontends/ves1820.c | 15 +++++++-------- 1 files changed, 7 insertions(+), 8 deletions(-) diff -puN drivers/media/dvb/frontends/ves1820.c~dvb-frontend-ves1820-improve-tuning drivers/media/dvb/frontends/ves1820.c --- devel/drivers/media/dvb/frontends/ves1820.c~dvb-frontend-ves1820-improve-tuning 2005-09-04 16:51:16.000000000 -0700 +++ devel-akpm/drivers/media/dvb/frontends/ves1820.c 2005-09-04 16:51:16.000000000 -0700 @@ -194,19 +194,18 @@ static int ves1820_init(struct dvb_front { struct ves1820_state* state = fe->demodulator_priv; int i; - int val; ves1820_writereg(state, 0, 0); - for (i = 0; i < 53; i++) { - val = ves1820_inittab[i]; - if ((i == 2) && (state->config->selagc)) val |= 0x08; - ves1820_writereg(state, i, val); - } + for (i = 0; i < sizeof(ves1820_inittab); i++) + ves1820_writereg(state, i, ves1820_inittab[i]); + if (state->config->selagc) + ves1820_writereg(state, 2, ves1820_inittab[2] | 0x08); ves1820_writereg(state, 0x34, state->pwm); - if (state->config->pll_init) state->config->pll_init(fe); + if (state->config->pll_init) + state->config->pll_init(fe); return 0; } @@ -234,7 +233,7 @@ static int ves1820_set_parameters(struct ves1820_writereg(state, 0x09, reg0x09[real_qam]); ves1820_setup_reg0(state, reg0x00[real_qam], p->inversion); - + ves1820_writereg(state, 2, ves1820_inittab[2] | (state->config->selagc ? 0x08 : 0)); return 0; } _