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:
parent
82d7669dc3
commit
de9be0eaae
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue