V4L/DVB (9174): Allow custom inittab for ST STV0288 demodulator.

Allow custom inittab for ST STV0288 demodulator,
as it is needed for DvbWorld USB card.

Signed-off-by: Igor M. Liplianin <liplianin@me.by>
Signed-off-by: Steven Toth <stoth@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Igor M. Liplianin 2008-10-05 08:52:18 -03:00 committed by Mauro Carvalho Chehab
parent 82d7669dc3
commit de9be0eaae
2 changed files with 18 additions and 4 deletions

View File

@ -328,16 +328,28 @@ static int stv0288_init(struct dvb_frontend *fe)
{
struct stv0288_state *state = fe->demodulator_priv;
int i;
u8 reg;
u8 val;
dprintk("stv0288: init chip\n");
stv0288_writeregI(state, 0x41, 0x04);
msleep(50);
for (i = 0; !(stv0288_inittab[i] == 0xff &&
/* we have default inittab */
if (state->config->inittab == NULL) {
for (i = 0; !(stv0288_inittab[i] == 0xff &&
stv0288_inittab[i + 1] == 0xff); i += 2)
stv0288_writeregI(state, stv0288_inittab[i],
stv0288_inittab[i + 1]);
stv0288_writeregI(state, stv0288_inittab[i],
stv0288_inittab[i + 1]);
} else {
for (i = 0; ; i += 2) {
reg = state->config->inittab[i];
val = state->config->inittab[i+1];
if (reg == 0xff && val == 0xff)
break;
stv0288_writeregI(state, reg, val);
}
}
return 0;
}

View File

@ -34,6 +34,8 @@ struct stv0288_config {
/* the demodulator's i2c address */
u8 demod_address;
u8* inittab;
/* minimum delay before retuning */
int min_delay_ms;