diff options
author | Manu Abraham <manu@kromtek.com> | 2005-05-28 15:51:48 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-28 16:46:09 -0700 |
commit | 203fe8b3d1f5b1b527e86f6dbe5b75960acb7f4f (patch) | |
tree | ef55ec3add89c75635dc2e7acd8dd985bb299076 /drivers/media | |
parent | 5212dd58e67e4b8009107d69a9de45dd2e687496 (diff) | |
download | kernel-crypto-203fe8b3d1f5b1b527e86f6dbe5b75960acb7f4f.tar.gz kernel-crypto-203fe8b3d1f5b1b527e86f6dbe5b75960acb7f4f.tar.xz kernel-crypto-203fe8b3d1f5b1b527e86f6dbe5b75960acb7f4f.zip |
[PATCH] dvb: Fix Mini DiSEqC bug
The bug was visible as a warning with gcc-3.4.4 (prerelease)
Message:
drivers/media/dvb/bt8xx/dst.c:1349: warning: initialization from
incompatible pointer type.
Signed-off-by: Manu Abraham <manu@kromtek.com>
Cc: Johannes Stezenbach <js@linuxtv.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/dvb/bt8xx/dst.c | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/drivers/media/dvb/bt8xx/dst.c b/drivers/media/dvb/bt8xx/dst.c index d047e349d70..2efc6f1caf8 100644 --- a/drivers/media/dvb/bt8xx/dst.c +++ b/drivers/media/dvb/bt8xx/dst.c @@ -915,13 +915,11 @@ static int dst_tone_power_cmd(struct dst_state* state) paket[2] = 0x02; else paket[2] = 0; - if (state->minicmd == SEC_MINI_A) - paket[3] = 0x02; - else - paket[3] = 0; + paket[3] = state->tx_tuna[3]; paket[7] = dst_check_sum (paket, 7); dst_command(state, paket, 8); + return 0; } @@ -1134,6 +1132,29 @@ static int dst_set_tone(struct dvb_frontend* fe, fe_sec_tone_mode_t tone) return 0; } +static int dst_send_burst(struct dvb_frontend *fe, fe_sec_mini_cmd_t minicmd) +{ + struct dst_state *state = fe->demodulator_priv; + + if ((state->dst_type == DST_TYPE_IS_TERR) || (state->dst_type == DST_TYPE_IS_CABLE)) + return 0; + + state->minicmd = minicmd; + + switch (minicmd) { + case SEC_MINI_A: + state->tx_tuna[3] = 0x02; + break; + case SEC_MINI_B: + state->tx_tuna[3] = 0xff; + break; + } + dst_tone_power_cmd(state); + + return 0; +} + + static int dst_init(struct dvb_frontend* fe) { struct dst_state* state = (struct dst_state*) fe->demodulator_priv; @@ -1346,7 +1367,7 @@ static struct dvb_frontend_ops dst_dvbs_ops = { .read_signal_strength = dst_read_signal_strength, .read_snr = dst_read_snr, - .diseqc_send_burst = dst_set_tone, + .diseqc_send_burst = dst_send_burst, .diseqc_send_master_cmd = dst_set_diseqc, .set_voltage = dst_set_voltage, .set_tone = dst_set_tone, |