|
@@ -566,7 +566,7 @@ static int au8522_enable_modulation(struct dvb_frontend *fe,
|
|
au8522_writereg(state,
|
|
au8522_writereg(state,
|
|
VSB_mod_tab[i].reg,
|
|
VSB_mod_tab[i].reg,
|
|
VSB_mod_tab[i].data);
|
|
VSB_mod_tab[i].data);
|
|
- au8522_set_if(fe, state->config->vsb_if);
|
|
|
|
|
|
+ au8522_set_if(fe, state->config.vsb_if);
|
|
break;
|
|
break;
|
|
case QAM_64:
|
|
case QAM_64:
|
|
dprintk("%s() QAM 64\n", __func__);
|
|
dprintk("%s() QAM 64\n", __func__);
|
|
@@ -574,7 +574,7 @@ static int au8522_enable_modulation(struct dvb_frontend *fe,
|
|
au8522_writereg(state,
|
|
au8522_writereg(state,
|
|
QAM64_mod_tab[i].reg,
|
|
QAM64_mod_tab[i].reg,
|
|
QAM64_mod_tab[i].data);
|
|
QAM64_mod_tab[i].data);
|
|
- au8522_set_if(fe, state->config->qam_if);
|
|
|
|
|
|
+ au8522_set_if(fe, state->config.qam_if);
|
|
break;
|
|
break;
|
|
case QAM_256:
|
|
case QAM_256:
|
|
if (zv_mode) {
|
|
if (zv_mode) {
|
|
@@ -583,7 +583,7 @@ static int au8522_enable_modulation(struct dvb_frontend *fe,
|
|
au8522_writereg(state,
|
|
au8522_writereg(state,
|
|
QAM256_mod_tab_zv_mode[i].reg,
|
|
QAM256_mod_tab_zv_mode[i].reg,
|
|
QAM256_mod_tab_zv_mode[i].data);
|
|
QAM256_mod_tab_zv_mode[i].data);
|
|
- au8522_set_if(fe, state->config->qam_if);
|
|
|
|
|
|
+ au8522_set_if(fe, state->config.qam_if);
|
|
msleep(100);
|
|
msleep(100);
|
|
au8522_writereg(state, 0x821a, 0x00);
|
|
au8522_writereg(state, 0x821a, 0x00);
|
|
} else {
|
|
} else {
|
|
@@ -592,7 +592,7 @@ static int au8522_enable_modulation(struct dvb_frontend *fe,
|
|
au8522_writereg(state,
|
|
au8522_writereg(state,
|
|
QAM256_mod_tab[i].reg,
|
|
QAM256_mod_tab[i].reg,
|
|
QAM256_mod_tab[i].data);
|
|
QAM256_mod_tab[i].data);
|
|
- au8522_set_if(fe, state->config->qam_if);
|
|
|
|
|
|
+ au8522_set_if(fe, state->config.qam_if);
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
@@ -666,7 +666,7 @@ static int au8522_read_status(struct dvb_frontend *fe, enum fe_status *status)
|
|
*status |= FE_HAS_LOCK | FE_HAS_SYNC;
|
|
*status |= FE_HAS_LOCK | FE_HAS_SYNC;
|
|
}
|
|
}
|
|
|
|
|
|
- switch (state->config->status_mode) {
|
|
|
|
|
|
+ switch (state->config.status_mode) {
|
|
case AU8522_DEMODLOCKING:
|
|
case AU8522_DEMODLOCKING:
|
|
dprintk("%s() DEMODLOCKING\n", __func__);
|
|
dprintk("%s() DEMODLOCKING\n", __func__);
|
|
if (*status & FE_HAS_VITERBI)
|
|
if (*status & FE_HAS_VITERBI)
|
|
@@ -704,7 +704,7 @@ static int au8522_read_status(struct dvb_frontend *fe, enum fe_status *status)
|
|
|
|
|
|
static int au8522_led_status(struct au8522_state *state, const u16 *snr)
|
|
static int au8522_led_status(struct au8522_state *state, const u16 *snr)
|
|
{
|
|
{
|
|
- struct au8522_led_config *led_config = state->config->led_cfg;
|
|
|
|
|
|
+ struct au8522_led_config *led_config = state->config.led_cfg;
|
|
int led;
|
|
int led;
|
|
u16 strong;
|
|
u16 strong;
|
|
|
|
|
|
@@ -758,7 +758,7 @@ static int au8522_read_snr(struct dvb_frontend *fe, u16 *snr)
|
|
au8522_readreg(state, 0x4311),
|
|
au8522_readreg(state, 0x4311),
|
|
snr);
|
|
snr);
|
|
|
|
|
|
- if (state->config->led_cfg)
|
|
|
|
|
|
+ if (state->config.led_cfg)
|
|
au8522_led_status(state, snr);
|
|
au8522_led_status(state, snr);
|
|
|
|
|
|
return ret;
|
|
return ret;
|
|
@@ -866,7 +866,7 @@ struct dvb_frontend *au8522_attach(const struct au8522_config *config,
|
|
}
|
|
}
|
|
|
|
|
|
/* setup the state */
|
|
/* setup the state */
|
|
- state->config = config;
|
|
|
|
|
|
+ state->config = *config;
|
|
state->i2c = i2c;
|
|
state->i2c = i2c;
|
|
state->operational_mode = AU8522_DIGITAL_MODE;
|
|
state->operational_mode = AU8522_DIGITAL_MODE;
|
|
|
|
|