Skip to content

Commit

Permalink
V4L/DVB (9174): Allow custom inittab for ST STV0288 demodulator.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Igor M. Liplianin authored and Mauro Carvalho Chehab committed Oct 13, 2008
1 parent 82d7669 commit de9be0e
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 4 deletions.
20 changes: 16 additions & 4 deletions drivers/media/dvb/frontends/stv0288.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down
2 changes: 2 additions & 0 deletions drivers/media/dvb/frontends/stv0288.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down

0 comments on commit de9be0e

Please sign in to comment.