diff options
author | Oliver Endriss <o.endriss@gmx.de> | 2011-01-10 04:36:24 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-03-21 19:31:46 -0400 |
commit | 4862d6b2e23f0573ef60c784341e05e1ac0804eb (patch) | |
tree | ca645be5c8e2c192bef085561110aeeab26da50a | |
parent | 3d0cef2c3c7e19a2425f8e1379a535c46427951b (diff) |
[media] stv090x: 22kHz workaround must also be performed for the 2nd frontend
22kHz workaround must also be performed for the 2nd frontend.
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/dvb/frontends/stv090x.c | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/drivers/media/dvb/frontends/stv090x.c b/drivers/media/dvb/frontends/stv090x.c index e3442a14e5b2..d3362d0407eb 100644 --- a/drivers/media/dvb/frontends/stv090x.c +++ b/drivers/media/dvb/frontends/stv090x.c | |||
@@ -4696,10 +4696,6 @@ static int stv090x_setup(struct dvb_frontend *fe) | |||
4696 | if (stv090x_write_reg(state, STV090x_TSTRES0, 0x00) < 0) | 4696 | if (stv090x_write_reg(state, STV090x_TSTRES0, 0x00) < 0) |
4697 | goto err; | 4697 | goto err; |
4698 | 4698 | ||
4699 | /* workaround for stuck DiSEqC output */ | ||
4700 | if (config->diseqc_envelope_mode) | ||
4701 | stv090x_send_diseqc_burst(fe, SEC_MINI_A); | ||
4702 | |||
4703 | return 0; | 4699 | return 0; |
4704 | err: | 4700 | err: |
4705 | dprintk(FE_ERROR, 1, "I/O error"); | 4701 | dprintk(FE_ERROR, 1, "I/O error"); |
@@ -4784,11 +4780,6 @@ struct dvb_frontend *stv090x_attach(const struct stv090x_config *config, | |||
4784 | state->internal = temp_int->internal; | 4780 | state->internal = temp_int->internal; |
4785 | state->internal->num_used++; | 4781 | state->internal->num_used++; |
4786 | dprintk(FE_INFO, 1, "Found Internal Structure!"); | 4782 | dprintk(FE_INFO, 1, "Found Internal Structure!"); |
4787 | dprintk(FE_ERROR, 1, "Attaching %s demodulator(%d) Cut=0x%02x", | ||
4788 | state->device == STV0900 ? "STV0900" : "STV0903", | ||
4789 | demod, | ||
4790 | state->internal->dev_ver); | ||
4791 | return &state->frontend; | ||
4792 | } else { | 4783 | } else { |
4793 | state->internal = kmalloc(sizeof(struct stv090x_internal), | 4784 | state->internal = kmalloc(sizeof(struct stv090x_internal), |
4794 | GFP_KERNEL); | 4785 | GFP_KERNEL); |
@@ -4799,15 +4790,20 @@ struct dvb_frontend *stv090x_attach(const struct stv090x_config *config, | |||
4799 | state->internal->i2c_adap = state->i2c; | 4790 | state->internal->i2c_adap = state->i2c; |
4800 | state->internal->i2c_addr = state->config->address; | 4791 | state->internal->i2c_addr = state->config->address; |
4801 | dprintk(FE_INFO, 1, "Create New Internal Structure!"); | 4792 | dprintk(FE_INFO, 1, "Create New Internal Structure!"); |
4802 | } | ||
4803 | 4793 | ||
4804 | mutex_init(&state->internal->demod_lock); | 4794 | mutex_init(&state->internal->demod_lock); |
4805 | mutex_init(&state->internal->tuner_lock); | 4795 | mutex_init(&state->internal->tuner_lock); |
4806 | 4796 | ||
4807 | if (stv090x_setup(&state->frontend) < 0) { | 4797 | if (stv090x_setup(&state->frontend) < 0) { |
4808 | dprintk(FE_ERROR, 1, "Error setting up device"); | 4798 | dprintk(FE_ERROR, 1, "Error setting up device"); |
4809 | goto error; | 4799 | goto error; |
4800 | } | ||
4810 | } | 4801 | } |
4802 | |||
4803 | /* workaround for stuck DiSEqC output */ | ||
4804 | if (config->diseqc_envelope_mode) | ||
4805 | stv090x_send_diseqc_burst(&state->frontend, SEC_MINI_A); | ||
4806 | |||
4811 | dprintk(FE_ERROR, 1, "Attaching %s demodulator(%d) Cut=0x%02x", | 4807 | dprintk(FE_ERROR, 1, "Attaching %s demodulator(%d) Cut=0x%02x", |
4812 | state->device == STV0900 ? "STV0900" : "STV0903", | 4808 | state->device == STV0900 ? "STV0900" : "STV0903", |
4813 | demod, | 4809 | demod, |