diff options
Diffstat (limited to 'drivers/media/dvb-frontends')
-rw-r--r-- | drivers/media/dvb-frontends/af9033.c | 12 | ||||
-rw-r--r-- | drivers/media/dvb-frontends/cxd2820r_c.c | 2 | ||||
-rw-r--r-- | drivers/media/dvb-frontends/dib8000.c | 4 | ||||
-rw-r--r-- | drivers/media/dvb-frontends/drxk_hard.c | 18 | ||||
-rw-r--r-- | drivers/media/dvb-frontends/rtl2830.c | 1 |
5 files changed, 19 insertions, 18 deletions
diff --git a/drivers/media/dvb-frontends/af9033.c b/drivers/media/dvb-frontends/af9033.c index 30ee59052157..65728c25ea05 100644 --- a/drivers/media/dvb-frontends/af9033.c +++ b/drivers/media/dvb-frontends/af9033.c | |||
@@ -170,18 +170,18 @@ static int af9033_rd_reg_mask(struct af9033_state *state, u32 reg, u8 *val, | |||
170 | static int af9033_wr_reg_val_tab(struct af9033_state *state, | 170 | static int af9033_wr_reg_val_tab(struct af9033_state *state, |
171 | const struct reg_val *tab, int tab_len) | 171 | const struct reg_val *tab, int tab_len) |
172 | { | 172 | { |
173 | #define MAX_TAB_LEN 212 | ||
173 | int ret, i, j; | 174 | int ret, i, j; |
174 | u8 buf[MAX_XFER_SIZE]; | 175 | u8 buf[1 + MAX_TAB_LEN]; |
176 | |||
177 | dev_dbg(&state->i2c->dev, "%s: tab_len=%d\n", __func__, tab_len); | ||
175 | 178 | ||
176 | if (tab_len > sizeof(buf)) { | 179 | if (tab_len > sizeof(buf)) { |
177 | dev_warn(&state->i2c->dev, | 180 | dev_warn(&state->i2c->dev, "%s: tab len %d is too big\n", |
178 | "%s: i2c wr len=%d is too big!\n", | 181 | KBUILD_MODNAME, tab_len); |
179 | KBUILD_MODNAME, tab_len); | ||
180 | return -EINVAL; | 182 | return -EINVAL; |
181 | } | 183 | } |
182 | 184 | ||
183 | dev_dbg(&state->i2c->dev, "%s: tab_len=%d\n", __func__, tab_len); | ||
184 | |||
185 | for (i = 0, j = 0; i < tab_len; i++) { | 185 | for (i = 0, j = 0; i < tab_len; i++) { |
186 | buf[j] = tab[i].val; | 186 | buf[j] = tab[i].val; |
187 | 187 | ||
diff --git a/drivers/media/dvb-frontends/cxd2820r_c.c b/drivers/media/dvb-frontends/cxd2820r_c.c index 125a44041011..5c6ab4921bf1 100644 --- a/drivers/media/dvb-frontends/cxd2820r_c.c +++ b/drivers/media/dvb-frontends/cxd2820r_c.c | |||
@@ -78,7 +78,7 @@ int cxd2820r_set_frontend_c(struct dvb_frontend *fe) | |||
78 | 78 | ||
79 | num = if_freq / 1000; /* Hz => kHz */ | 79 | num = if_freq / 1000; /* Hz => kHz */ |
80 | num *= 0x4000; | 80 | num *= 0x4000; |
81 | if_ctl = cxd2820r_div_u64_round_closest(num, 41000); | 81 | if_ctl = 0x4000 - cxd2820r_div_u64_round_closest(num, 41000); |
82 | buf[0] = (if_ctl >> 8) & 0x3f; | 82 | buf[0] = (if_ctl >> 8) & 0x3f; |
83 | buf[1] = (if_ctl >> 0) & 0xff; | 83 | buf[1] = (if_ctl >> 0) & 0xff; |
84 | 84 | ||
diff --git a/drivers/media/dvb-frontends/dib8000.c b/drivers/media/dvb-frontends/dib8000.c index 90536147bf04..6dbbee453ee1 100644 --- a/drivers/media/dvb-frontends/dib8000.c +++ b/drivers/media/dvb-frontends/dib8000.c | |||
@@ -3048,7 +3048,7 @@ static int dib8000_tune(struct dvb_frontend *fe) | |||
3048 | dib8000_set_diversity_in(state->fe[0], state->diversity_onoff); | 3048 | dib8000_set_diversity_in(state->fe[0], state->diversity_onoff); |
3049 | 3049 | ||
3050 | locks = (dib8000_read_word(state, 180) >> 6) & 0x3f; /* P_coff_winlen ? */ | 3050 | locks = (dib8000_read_word(state, 180) >> 6) & 0x3f; /* P_coff_winlen ? */ |
3051 | /* coff should lock over P_coff_winlen ofdm symbols : give 3 times this lenght to lock */ | 3051 | /* coff should lock over P_coff_winlen ofdm symbols : give 3 times this length to lock */ |
3052 | *timeout = dib8000_get_timeout(state, 2 * locks, SYMBOL_DEPENDENT_ON); | 3052 | *timeout = dib8000_get_timeout(state, 2 * locks, SYMBOL_DEPENDENT_ON); |
3053 | *tune_state = CT_DEMOD_STEP_5; | 3053 | *tune_state = CT_DEMOD_STEP_5; |
3054 | break; | 3054 | break; |
@@ -3115,7 +3115,7 @@ static int dib8000_tune(struct dvb_frontend *fe) | |||
3115 | 3115 | ||
3116 | case CT_DEMOD_STEP_9: /* 39 */ | 3116 | case CT_DEMOD_STEP_9: /* 39 */ |
3117 | if ((state->revision == 0x8090) || ((dib8000_read_word(state, 1291) >> 9) & 0x1)) { /* fe capable of deinterleaving : esram */ | 3117 | if ((state->revision == 0x8090) || ((dib8000_read_word(state, 1291) >> 9) & 0x1)) { /* fe capable of deinterleaving : esram */ |
3118 | /* defines timeout for mpeg lock depending on interleaver lenght of longest layer */ | 3118 | /* defines timeout for mpeg lock depending on interleaver length of longest layer */ |
3119 | for (i = 0; i < 3; i++) { | 3119 | for (i = 0; i < 3; i++) { |
3120 | if (c->layer[i].interleaving >= deeper_interleaver) { | 3120 | if (c->layer[i].interleaving >= deeper_interleaver) { |
3121 | dprintk("layer%i: time interleaver = %d ", i, c->layer[i].interleaving); | 3121 | dprintk("layer%i: time interleaver = %d ", i, c->layer[i].interleaving); |
diff --git a/drivers/media/dvb-frontends/drxk_hard.c b/drivers/media/dvb-frontends/drxk_hard.c index d416c15691da..bf29a3f0e6f0 100644 --- a/drivers/media/dvb-frontends/drxk_hard.c +++ b/drivers/media/dvb-frontends/drxk_hard.c | |||
@@ -1191,7 +1191,7 @@ static int mpegts_configure_pins(struct drxk_state *state, bool mpeg_enable) | |||
1191 | goto error; | 1191 | goto error; |
1192 | 1192 | ||
1193 | if (state->m_enable_parallel == true) { | 1193 | if (state->m_enable_parallel == true) { |
1194 | /* paralel -> enable MD1 to MD7 */ | 1194 | /* parallel -> enable MD1 to MD7 */ |
1195 | status = write16(state, SIO_PDR_MD1_CFG__A, | 1195 | status = write16(state, SIO_PDR_MD1_CFG__A, |
1196 | sio_pdr_mdx_cfg); | 1196 | sio_pdr_mdx_cfg); |
1197 | if (status < 0) | 1197 | if (status < 0) |
@@ -1428,7 +1428,7 @@ static int mpegts_stop(struct drxk_state *state) | |||
1428 | 1428 | ||
1429 | dprintk(1, "\n"); | 1429 | dprintk(1, "\n"); |
1430 | 1430 | ||
1431 | /* Gracefull shutdown (byte boundaries) */ | 1431 | /* Graceful shutdown (byte boundaries) */ |
1432 | status = read16(state, FEC_OC_SNC_MODE__A, &fec_oc_snc_mode); | 1432 | status = read16(state, FEC_OC_SNC_MODE__A, &fec_oc_snc_mode); |
1433 | if (status < 0) | 1433 | if (status < 0) |
1434 | goto error; | 1434 | goto error; |
@@ -2021,7 +2021,7 @@ static int mpegts_dto_setup(struct drxk_state *state, | |||
2021 | fec_oc_dto_burst_len = 204; | 2021 | fec_oc_dto_burst_len = 204; |
2022 | } | 2022 | } |
2023 | 2023 | ||
2024 | /* Check serial or parrallel output */ | 2024 | /* Check serial or parallel output */ |
2025 | fec_oc_reg_ipr_mode &= (~(FEC_OC_IPR_MODE_SERIAL__M)); | 2025 | fec_oc_reg_ipr_mode &= (~(FEC_OC_IPR_MODE_SERIAL__M)); |
2026 | if (state->m_enable_parallel == false) { | 2026 | if (state->m_enable_parallel == false) { |
2027 | /* MPEG data output is serial -> set ipr_mode[0] */ | 2027 | /* MPEG data output is serial -> set ipr_mode[0] */ |
@@ -2908,7 +2908,7 @@ static int adc_synchronization(struct drxk_state *state) | |||
2908 | goto error; | 2908 | goto error; |
2909 | 2909 | ||
2910 | if (count == 1) { | 2910 | if (count == 1) { |
2911 | /* Try sampling on a diffrent edge */ | 2911 | /* Try sampling on a different edge */ |
2912 | u16 clk_neg = 0; | 2912 | u16 clk_neg = 0; |
2913 | 2913 | ||
2914 | status = read16(state, IQM_AF_CLKNEG__A, &clk_neg); | 2914 | status = read16(state, IQM_AF_CLKNEG__A, &clk_neg); |
@@ -3306,7 +3306,7 @@ static int dvbt_sc_command(struct drxk_state *state, | |||
3306 | if (status < 0) | 3306 | if (status < 0) |
3307 | goto error; | 3307 | goto error; |
3308 | 3308 | ||
3309 | /* Retreive results parameters from SC */ | 3309 | /* Retrieve results parameters from SC */ |
3310 | switch (cmd) { | 3310 | switch (cmd) { |
3311 | /* All commands yielding 5 results */ | 3311 | /* All commands yielding 5 results */ |
3312 | /* All commands yielding 4 results */ | 3312 | /* All commands yielding 4 results */ |
@@ -3849,7 +3849,7 @@ static int set_dvbt(struct drxk_state *state, u16 intermediate_freqk_hz, | |||
3849 | break; | 3849 | break; |
3850 | } | 3850 | } |
3851 | #if 0 | 3851 | #if 0 |
3852 | /* No hierachical channels support in BDA */ | 3852 | /* No hierarchical channels support in BDA */ |
3853 | /* Priority (only for hierarchical channels) */ | 3853 | /* Priority (only for hierarchical channels) */ |
3854 | switch (channel->priority) { | 3854 | switch (channel->priority) { |
3855 | case DRX_PRIORITY_LOW: | 3855 | case DRX_PRIORITY_LOW: |
@@ -4081,7 +4081,7 @@ error: | |||
4081 | /*============================================================================*/ | 4081 | /*============================================================================*/ |
4082 | 4082 | ||
4083 | /** | 4083 | /** |
4084 | * \brief Retreive lock status . | 4084 | * \brief Retrieve lock status . |
4085 | * \param demod Pointer to demodulator instance. | 4085 | * \param demod Pointer to demodulator instance. |
4086 | * \param lockStat Pointer to lock status structure. | 4086 | * \param lockStat Pointer to lock status structure. |
4087 | * \return DRXStatus_t. | 4087 | * \return DRXStatus_t. |
@@ -6174,7 +6174,7 @@ static int init_drxk(struct drxk_state *state) | |||
6174 | goto error; | 6174 | goto error; |
6175 | 6175 | ||
6176 | /* Stamp driver version number in SCU data RAM in BCD code | 6176 | /* Stamp driver version number in SCU data RAM in BCD code |
6177 | Done to enable field application engineers to retreive drxdriver version | 6177 | Done to enable field application engineers to retrieve drxdriver version |
6178 | via I2C from SCU RAM. | 6178 | via I2C from SCU RAM. |
6179 | Not using SCU command interface for SCU register access since no | 6179 | Not using SCU command interface for SCU register access since no |
6180 | microcode may be present. | 6180 | microcode may be present. |
@@ -6399,7 +6399,7 @@ static int drxk_set_parameters(struct dvb_frontend *fe) | |||
6399 | fe->ops.tuner_ops.get_if_frequency(fe, &IF); | 6399 | fe->ops.tuner_ops.get_if_frequency(fe, &IF); |
6400 | start(state, 0, IF); | 6400 | start(state, 0, IF); |
6401 | 6401 | ||
6402 | /* After set_frontend, stats aren't avaliable */ | 6402 | /* After set_frontend, stats aren't available */ |
6403 | p->strength.stat[0].scale = FE_SCALE_RELATIVE; | 6403 | p->strength.stat[0].scale = FE_SCALE_RELATIVE; |
6404 | p->cnr.stat[0].scale = FE_SCALE_NOT_AVAILABLE; | 6404 | p->cnr.stat[0].scale = FE_SCALE_NOT_AVAILABLE; |
6405 | p->block_error.stat[0].scale = FE_SCALE_NOT_AVAILABLE; | 6405 | p->block_error.stat[0].scale = FE_SCALE_NOT_AVAILABLE; |
diff --git a/drivers/media/dvb-frontends/rtl2830.c b/drivers/media/dvb-frontends/rtl2830.c index 7efb796c472c..50e8b63e5169 100644 --- a/drivers/media/dvb-frontends/rtl2830.c +++ b/drivers/media/dvb-frontends/rtl2830.c | |||
@@ -710,6 +710,7 @@ struct dvb_frontend *rtl2830_attach(const struct rtl2830_config *cfg, | |||
710 | sizeof(priv->tuner_i2c_adapter.name)); | 710 | sizeof(priv->tuner_i2c_adapter.name)); |
711 | priv->tuner_i2c_adapter.algo = &rtl2830_tuner_i2c_algo; | 711 | priv->tuner_i2c_adapter.algo = &rtl2830_tuner_i2c_algo; |
712 | priv->tuner_i2c_adapter.algo_data = NULL; | 712 | priv->tuner_i2c_adapter.algo_data = NULL; |
713 | priv->tuner_i2c_adapter.dev.parent = &i2c->dev; | ||
713 | i2c_set_adapdata(&priv->tuner_i2c_adapter, priv); | 714 | i2c_set_adapdata(&priv->tuner_i2c_adapter, priv); |
714 | if (i2c_add_adapter(&priv->tuner_i2c_adapter) < 0) { | 715 | if (i2c_add_adapter(&priv->tuner_i2c_adapter) < 0) { |
715 | dev_err(&i2c->dev, | 716 | dev_err(&i2c->dev, |