V4L/DVB (7672): dib7000p: Add output mode param to the attach struct

This allows future drivers to select the most appropriate output mode.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Reviewed-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
Steven Toth 2008-04-22 15:37:01 -03:00 committed by Mauro Carvalho Chehab
parent 5aa2110f3f
commit a38d6e37c0
2 changed files with 9 additions and 1 deletions

View File

@ -1168,7 +1168,7 @@ static int dib7000p_set_frontend(struct dvb_frontend* fe,
ret = dib7000p_tune(fe, fep); ret = dib7000p_tune(fe, fep);
/* make this a config parameter */ /* make this a config parameter */
dib7000p_set_output_mode(state, OUTMODE_MPEG2_FIFO); dib7000p_set_output_mode(state, state->cfg.output_mode);
return ret; return ret;
} }
@ -1330,6 +1330,12 @@ struct dvb_frontend * dib7000p_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr,
st->gpio_val = cfg->gpio_val; st->gpio_val = cfg->gpio_val;
st->gpio_dir = cfg->gpio_dir; st->gpio_dir = cfg->gpio_dir;
/* Ensure the output mode remains at the previous default if it's
* not specifically set by the caller.
*/
if (st->cfg.output_mode != OUTMODE_MPEG2_SERIAL)
st->cfg.output_mode = OUTMODE_MPEG2_FIFO;
demod = &st->demod; demod = &st->demod;
demod->demodulator_priv = st; demod->demodulator_priv = st;
memcpy(&st->demod.ops, &dib7000p_ops, sizeof(struct dvb_frontend_ops)); memcpy(&st->demod.ops, &dib7000p_ops, sizeof(struct dvb_frontend_ops));

View File

@ -31,6 +31,8 @@ struct dib7000p_config {
u8 spur_protect; u8 spur_protect;
int (*agc_control) (struct dvb_frontend *, u8 before); int (*agc_control) (struct dvb_frontend *, u8 before);
u8 output_mode;
}; };
#define DEFAULT_DIB7000P_I2C_ADDRESS 18 #define DEFAULT_DIB7000P_I2C_ADDRESS 18