summaryrefslogtreecommitdiff
path: root/drivers/media/dvb-frontends/stv0910.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb-frontends/stv0910.c')
-rw-r--r--drivers/media/dvb-frontends/stv0910.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/drivers/media/dvb-frontends/stv0910.c b/drivers/media/dvb-frontends/stv0910.c
index 946e55c74afa..9f38ebeec853 100644
--- a/drivers/media/dvb-frontends/stv0910.c
+++ b/drivers/media/dvb-frontends/stv0910.c
@@ -908,27 +908,31 @@ static int init_search_param(struct stv *state)
static int enable_puncture_rate(struct stv *state, enum fe_code_rate rate)
{
+ u8 val;
+
switch (rate) {
case FEC_1_2:
- return write_reg(state,
- RSTV0910_P2_PRVIT + state->regoff, 0x01);
+ val = 0x01;
+ break;
case FEC_2_3:
- return write_reg(state,
- RSTV0910_P2_PRVIT + state->regoff, 0x02);
+ val = 0x02;
+ break;
case FEC_3_4:
- return write_reg(state,
- RSTV0910_P2_PRVIT + state->regoff, 0x04);
+ val = 0x04;
+ break;
case FEC_5_6:
- return write_reg(state,
- RSTV0910_P2_PRVIT + state->regoff, 0x08);
+ val = 0x08;
+ break;
case FEC_7_8:
- return write_reg(state,
- RSTV0910_P2_PRVIT + state->regoff, 0x20);
+ val = 0x20;
+ break;
case FEC_NONE:
default:
- return write_reg(state,
- RSTV0910_P2_PRVIT + state->regoff, 0x2f);
+ val = 0x2f;
+ break;
}
+
+ return write_reg(state, RSTV0910_P2_PRVIT + state->regoff, val);
}
static int set_vth_default(struct stv *state)