|
@@ -4696,10 +4696,6 @@ static int stv090x_setup(struct dvb_frontend *fe)
|
|
if (stv090x_write_reg(state, STV090x_TSTRES0, 0x00) < 0)
|
|
if (stv090x_write_reg(state, STV090x_TSTRES0, 0x00) < 0)
|
|
goto err;
|
|
goto err;
|
|
|
|
|
|
- /* workaround for stuck DiSEqC output */
|
|
|
|
- if (config->diseqc_envelope_mode)
|
|
|
|
- stv090x_send_diseqc_burst(fe, SEC_MINI_A);
|
|
|
|
-
|
|
|
|
return 0;
|
|
return 0;
|
|
err:
|
|
err:
|
|
dprintk(FE_ERROR, 1, "I/O error");
|
|
dprintk(FE_ERROR, 1, "I/O error");
|
|
@@ -4784,11 +4780,6 @@ struct dvb_frontend *stv090x_attach(const struct stv090x_config *config,
|
|
state->internal = temp_int->internal;
|
|
state->internal = temp_int->internal;
|
|
state->internal->num_used++;
|
|
state->internal->num_used++;
|
|
dprintk(FE_INFO, 1, "Found Internal Structure!");
|
|
dprintk(FE_INFO, 1, "Found Internal Structure!");
|
|
- dprintk(FE_ERROR, 1, "Attaching %s demodulator(%d) Cut=0x%02x",
|
|
|
|
- state->device == STV0900 ? "STV0900" : "STV0903",
|
|
|
|
- demod,
|
|
|
|
- state->internal->dev_ver);
|
|
|
|
- return &state->frontend;
|
|
|
|
} else {
|
|
} else {
|
|
state->internal = kmalloc(sizeof(struct stv090x_internal),
|
|
state->internal = kmalloc(sizeof(struct stv090x_internal),
|
|
GFP_KERNEL);
|
|
GFP_KERNEL);
|
|
@@ -4799,15 +4790,20 @@ struct dvb_frontend *stv090x_attach(const struct stv090x_config *config,
|
|
state->internal->i2c_adap = state->i2c;
|
|
state->internal->i2c_adap = state->i2c;
|
|
state->internal->i2c_addr = state->config->address;
|
|
state->internal->i2c_addr = state->config->address;
|
|
dprintk(FE_INFO, 1, "Create New Internal Structure!");
|
|
dprintk(FE_INFO, 1, "Create New Internal Structure!");
|
|
- }
|
|
|
|
|
|
|
|
- mutex_init(&state->internal->demod_lock);
|
|
|
|
- mutex_init(&state->internal->tuner_lock);
|
|
|
|
|
|
+ mutex_init(&state->internal->demod_lock);
|
|
|
|
+ mutex_init(&state->internal->tuner_lock);
|
|
|
|
|
|
- if (stv090x_setup(&state->frontend) < 0) {
|
|
|
|
- dprintk(FE_ERROR, 1, "Error setting up device");
|
|
|
|
- goto error;
|
|
|
|
|
|
+ if (stv090x_setup(&state->frontend) < 0) {
|
|
|
|
+ dprintk(FE_ERROR, 1, "Error setting up device");
|
|
|
|
+ goto error;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /* workaround for stuck DiSEqC output */
|
|
|
|
+ if (config->diseqc_envelope_mode)
|
|
|
|
+ stv090x_send_diseqc_burst(&state->frontend, SEC_MINI_A);
|
|
|
|
+
|
|
dprintk(FE_ERROR, 1, "Attaching %s demodulator(%d) Cut=0x%02x",
|
|
dprintk(FE_ERROR, 1, "Attaching %s demodulator(%d) Cut=0x%02x",
|
|
state->device == STV0900 ? "STV0900" : "STV0903",
|
|
state->device == STV0900 ? "STV0900" : "STV0903",
|
|
demod,
|
|
demod,
|