diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-12-22 18:34:47 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-12-31 06:16:34 -0500 |
commit | fe08492935e6b20fc2e30ced262acb0546b32e0f (patch) | |
tree | 497cc80e7d739a5326a1f03ed572460c45788967 | |
parent | 9e9c5bf73ffa8bbd870139589e5e490f1b02a283 (diff) |
[media] dib3000mb: convert set_fontend to use DVBv5 parameters
Instead of using dvb_frontend_parameters struct, that were
designed for a subset of the supported standards, use the DVBv5
cache information.
Also, fill the supported delivery systems at dvb_frontend_ops
struct.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/dvb/frontends/dib3000mb.c | 111 |
1 files changed, 54 insertions, 57 deletions
diff --git a/drivers/media/dvb/frontends/dib3000mb.c b/drivers/media/dvb/frontends/dib3000mb.c index 77af24098fc5..de9ed6cf1422 100644 --- a/drivers/media/dvb/frontends/dib3000mb.c +++ b/drivers/media/dvb/frontends/dib3000mb.c | |||
@@ -113,13 +113,12 @@ static u16 dib3000_seq[2][2][2] = /* fft,gua, inv */ | |||
113 | }; | 113 | }; |
114 | 114 | ||
115 | static int dib3000mb_get_frontend(struct dvb_frontend* fe, | 115 | static int dib3000mb_get_frontend(struct dvb_frontend* fe, |
116 | struct dvb_frontend_parameters *fep); | 116 | struct dtv_frontend_properties *c); |
117 | 117 | ||
118 | static int dib3000mb_set_frontend(struct dvb_frontend* fe, | 118 | static int dib3000mb_set_frontend(struct dvb_frontend *fe, int tuner) |
119 | struct dvb_frontend_parameters *fep, int tuner) | ||
120 | { | 119 | { |
121 | struct dib3000_state* state = fe->demodulator_priv; | 120 | struct dib3000_state* state = fe->demodulator_priv; |
122 | struct dvb_ofdm_parameters *ofdm = &fep->u.ofdm; | 121 | struct dtv_frontend_properties *c = &fe->dtv_property_cache; |
123 | fe_code_rate_t fe_cr = FEC_NONE; | 122 | fe_code_rate_t fe_cr = FEC_NONE; |
124 | int search_state, seq; | 123 | int search_state, seq; |
125 | 124 | ||
@@ -128,23 +127,23 @@ static int dib3000mb_set_frontend(struct dvb_frontend* fe, | |||
128 | if (fe->ops.i2c_gate_ctrl) fe->ops.i2c_gate_ctrl(fe, 0); | 127 | if (fe->ops.i2c_gate_ctrl) fe->ops.i2c_gate_ctrl(fe, 0); |
129 | 128 | ||
130 | deb_setf("bandwidth: "); | 129 | deb_setf("bandwidth: "); |
131 | switch (ofdm->bandwidth) { | 130 | switch (c->bandwidth_hz) { |
132 | case BANDWIDTH_8_MHZ: | 131 | case 8000000: |
133 | deb_setf("8 MHz\n"); | 132 | deb_setf("8 MHz\n"); |
134 | wr_foreach(dib3000mb_reg_timing_freq, dib3000mb_timing_freq[2]); | 133 | wr_foreach(dib3000mb_reg_timing_freq, dib3000mb_timing_freq[2]); |
135 | wr_foreach(dib3000mb_reg_bandwidth, dib3000mb_bandwidth_8mhz); | 134 | wr_foreach(dib3000mb_reg_bandwidth, dib3000mb_bandwidth_8mhz); |
136 | break; | 135 | break; |
137 | case BANDWIDTH_7_MHZ: | 136 | case 7000000: |
138 | deb_setf("7 MHz\n"); | 137 | deb_setf("7 MHz\n"); |
139 | wr_foreach(dib3000mb_reg_timing_freq, dib3000mb_timing_freq[1]); | 138 | wr_foreach(dib3000mb_reg_timing_freq, dib3000mb_timing_freq[1]); |
140 | wr_foreach(dib3000mb_reg_bandwidth, dib3000mb_bandwidth_7mhz); | 139 | wr_foreach(dib3000mb_reg_bandwidth, dib3000mb_bandwidth_7mhz); |
141 | break; | 140 | break; |
142 | case BANDWIDTH_6_MHZ: | 141 | case 6000000: |
143 | deb_setf("6 MHz\n"); | 142 | deb_setf("6 MHz\n"); |
144 | wr_foreach(dib3000mb_reg_timing_freq, dib3000mb_timing_freq[0]); | 143 | wr_foreach(dib3000mb_reg_timing_freq, dib3000mb_timing_freq[0]); |
145 | wr_foreach(dib3000mb_reg_bandwidth, dib3000mb_bandwidth_6mhz); | 144 | wr_foreach(dib3000mb_reg_bandwidth, dib3000mb_bandwidth_6mhz); |
146 | break; | 145 | break; |
147 | case BANDWIDTH_AUTO: | 146 | case 0: |
148 | return -EOPNOTSUPP; | 147 | return -EOPNOTSUPP; |
149 | default: | 148 | default: |
150 | err("unknown bandwidth value."); | 149 | err("unknown bandwidth value."); |
@@ -154,7 +153,7 @@ static int dib3000mb_set_frontend(struct dvb_frontend* fe, | |||
154 | wr(DIB3000MB_REG_LOCK1_MASK, DIB3000MB_LOCK1_SEARCH_4); | 153 | wr(DIB3000MB_REG_LOCK1_MASK, DIB3000MB_LOCK1_SEARCH_4); |
155 | 154 | ||
156 | deb_setf("transmission mode: "); | 155 | deb_setf("transmission mode: "); |
157 | switch (ofdm->transmission_mode) { | 156 | switch (c->transmission_mode) { |
158 | case TRANSMISSION_MODE_2K: | 157 | case TRANSMISSION_MODE_2K: |
159 | deb_setf("2k\n"); | 158 | deb_setf("2k\n"); |
160 | wr(DIB3000MB_REG_FFT, DIB3000_TRANSMISSION_MODE_2K); | 159 | wr(DIB3000MB_REG_FFT, DIB3000_TRANSMISSION_MODE_2K); |
@@ -171,7 +170,7 @@ static int dib3000mb_set_frontend(struct dvb_frontend* fe, | |||
171 | } | 170 | } |
172 | 171 | ||
173 | deb_setf("guard: "); | 172 | deb_setf("guard: "); |
174 | switch (ofdm->guard_interval) { | 173 | switch (c->guard_interval) { |
175 | case GUARD_INTERVAL_1_32: | 174 | case GUARD_INTERVAL_1_32: |
176 | deb_setf("1_32\n"); | 175 | deb_setf("1_32\n"); |
177 | wr(DIB3000MB_REG_GUARD_TIME, DIB3000_GUARD_TIME_1_32); | 176 | wr(DIB3000MB_REG_GUARD_TIME, DIB3000_GUARD_TIME_1_32); |
@@ -196,7 +195,7 @@ static int dib3000mb_set_frontend(struct dvb_frontend* fe, | |||
196 | } | 195 | } |
197 | 196 | ||
198 | deb_setf("inversion: "); | 197 | deb_setf("inversion: "); |
199 | switch (fep->inversion) { | 198 | switch (c->inversion) { |
200 | case INVERSION_OFF: | 199 | case INVERSION_OFF: |
201 | deb_setf("off\n"); | 200 | deb_setf("off\n"); |
202 | wr(DIB3000MB_REG_DDS_INV, DIB3000_DDS_INVERSION_OFF); | 201 | wr(DIB3000MB_REG_DDS_INV, DIB3000_DDS_INVERSION_OFF); |
@@ -212,8 +211,8 @@ static int dib3000mb_set_frontend(struct dvb_frontend* fe, | |||
212 | return -EINVAL; | 211 | return -EINVAL; |
213 | } | 212 | } |
214 | 213 | ||
215 | deb_setf("constellation: "); | 214 | deb_setf("modulation: "); |
216 | switch (ofdm->constellation) { | 215 | switch (c->modulation) { |
217 | case QPSK: | 216 | case QPSK: |
218 | deb_setf("qpsk\n"); | 217 | deb_setf("qpsk\n"); |
219 | wr(DIB3000MB_REG_QAM, DIB3000_CONSTELLATION_QPSK); | 218 | wr(DIB3000MB_REG_QAM, DIB3000_CONSTELLATION_QPSK); |
@@ -232,7 +231,7 @@ static int dib3000mb_set_frontend(struct dvb_frontend* fe, | |||
232 | return -EINVAL; | 231 | return -EINVAL; |
233 | } | 232 | } |
234 | deb_setf("hierarchy: "); | 233 | deb_setf("hierarchy: "); |
235 | switch (ofdm->hierarchy_information) { | 234 | switch (c->hierarchy) { |
236 | case HIERARCHY_NONE: | 235 | case HIERARCHY_NONE: |
237 | deb_setf("none "); | 236 | deb_setf("none "); |
238 | /* fall through */ | 237 | /* fall through */ |
@@ -256,16 +255,16 @@ static int dib3000mb_set_frontend(struct dvb_frontend* fe, | |||
256 | } | 255 | } |
257 | 256 | ||
258 | deb_setf("hierarchy: "); | 257 | deb_setf("hierarchy: "); |
259 | if (ofdm->hierarchy_information == HIERARCHY_NONE) { | 258 | if (c->hierarchy == HIERARCHY_NONE) { |
260 | deb_setf("none\n"); | 259 | deb_setf("none\n"); |
261 | wr(DIB3000MB_REG_VIT_HRCH, DIB3000_HRCH_OFF); | 260 | wr(DIB3000MB_REG_VIT_HRCH, DIB3000_HRCH_OFF); |
262 | wr(DIB3000MB_REG_VIT_HP, DIB3000_SELECT_HP); | 261 | wr(DIB3000MB_REG_VIT_HP, DIB3000_SELECT_HP); |
263 | fe_cr = ofdm->code_rate_HP; | 262 | fe_cr = c->code_rate_HP; |
264 | } else if (ofdm->hierarchy_information != HIERARCHY_AUTO) { | 263 | } else if (c->hierarchy != HIERARCHY_AUTO) { |
265 | deb_setf("on\n"); | 264 | deb_setf("on\n"); |
266 | wr(DIB3000MB_REG_VIT_HRCH, DIB3000_HRCH_ON); | 265 | wr(DIB3000MB_REG_VIT_HRCH, DIB3000_HRCH_ON); |
267 | wr(DIB3000MB_REG_VIT_HP, DIB3000_SELECT_LP); | 266 | wr(DIB3000MB_REG_VIT_HP, DIB3000_SELECT_LP); |
268 | fe_cr = ofdm->code_rate_LP; | 267 | fe_cr = c->code_rate_LP; |
269 | } | 268 | } |
270 | deb_setf("fec: "); | 269 | deb_setf("fec: "); |
271 | switch (fe_cr) { | 270 | switch (fe_cr) { |
@@ -300,9 +299,9 @@ static int dib3000mb_set_frontend(struct dvb_frontend* fe, | |||
300 | } | 299 | } |
301 | 300 | ||
302 | seq = dib3000_seq | 301 | seq = dib3000_seq |
303 | [ofdm->transmission_mode == TRANSMISSION_MODE_AUTO] | 302 | [c->transmission_mode == TRANSMISSION_MODE_AUTO] |
304 | [ofdm->guard_interval == GUARD_INTERVAL_AUTO] | 303 | [c->guard_interval == GUARD_INTERVAL_AUTO] |
305 | [fep->inversion == INVERSION_AUTO]; | 304 | [c->inversion == INVERSION_AUTO]; |
306 | 305 | ||
307 | deb_setf("seq? %d\n", seq); | 306 | deb_setf("seq? %d\n", seq); |
308 | 307 | ||
@@ -310,8 +309,8 @@ static int dib3000mb_set_frontend(struct dvb_frontend* fe, | |||
310 | 309 | ||
311 | wr(DIB3000MB_REG_ISI, seq ? DIB3000MB_ISI_INHIBIT : DIB3000MB_ISI_ACTIVATE); | 310 | wr(DIB3000MB_REG_ISI, seq ? DIB3000MB_ISI_INHIBIT : DIB3000MB_ISI_ACTIVATE); |
312 | 311 | ||
313 | if (ofdm->transmission_mode == TRANSMISSION_MODE_2K) { | 312 | if (c->transmission_mode == TRANSMISSION_MODE_2K) { |
314 | if (ofdm->guard_interval == GUARD_INTERVAL_1_8) { | 313 | if (c->guard_interval == GUARD_INTERVAL_1_8) { |
315 | wr(DIB3000MB_REG_SYNC_IMPROVEMENT, DIB3000MB_SYNC_IMPROVE_2K_1_8); | 314 | wr(DIB3000MB_REG_SYNC_IMPROVEMENT, DIB3000MB_SYNC_IMPROVE_2K_1_8); |
316 | } else { | 315 | } else { |
317 | wr(DIB3000MB_REG_SYNC_IMPROVEMENT, DIB3000MB_SYNC_IMPROVE_DEFAULT); | 316 | wr(DIB3000MB_REG_SYNC_IMPROVEMENT, DIB3000MB_SYNC_IMPROVE_DEFAULT); |
@@ -339,10 +338,10 @@ static int dib3000mb_set_frontend(struct dvb_frontend* fe, | |||
339 | wr_foreach(dib3000mb_reg_agc_bandwidth, dib3000mb_agc_bandwidth_low); | 338 | wr_foreach(dib3000mb_reg_agc_bandwidth, dib3000mb_agc_bandwidth_low); |
340 | 339 | ||
341 | /* something has to be auto searched */ | 340 | /* something has to be auto searched */ |
342 | if (ofdm->constellation == QAM_AUTO || | 341 | if (c->modulation == QAM_AUTO || |
343 | ofdm->hierarchy_information == HIERARCHY_AUTO || | 342 | c->hierarchy == HIERARCHY_AUTO || |
344 | fe_cr == FEC_AUTO || | 343 | fe_cr == FEC_AUTO || |
345 | fep->inversion == INVERSION_AUTO) { | 344 | c->inversion == INVERSION_AUTO) { |
346 | int as_count=0; | 345 | int as_count=0; |
347 | 346 | ||
348 | deb_setf("autosearch enabled.\n"); | 347 | deb_setf("autosearch enabled.\n"); |
@@ -361,10 +360,9 @@ static int dib3000mb_set_frontend(struct dvb_frontend* fe, | |||
361 | deb_setf("search_state after autosearch %d after %d checks\n",search_state,as_count); | 360 | deb_setf("search_state after autosearch %d after %d checks\n",search_state,as_count); |
362 | 361 | ||
363 | if (search_state == 1) { | 362 | if (search_state == 1) { |
364 | struct dvb_frontend_parameters feps; | 363 | if (dib3000mb_get_frontend(fe, c) == 0) { |
365 | if (dib3000mb_get_frontend(fe, &feps) == 0) { | ||
366 | deb_setf("reading tuning data from frontend succeeded.\n"); | 364 | deb_setf("reading tuning data from frontend succeeded.\n"); |
367 | return dib3000mb_set_frontend(fe, &feps, 0); | 365 | return dib3000mb_set_frontend(fe, 0); |
368 | } | 366 | } |
369 | } | 367 | } |
370 | 368 | ||
@@ -454,10 +452,9 @@ static int dib3000mb_fe_init(struct dvb_frontend* fe, int mobile_mode) | |||
454 | } | 452 | } |
455 | 453 | ||
456 | static int dib3000mb_get_frontend(struct dvb_frontend* fe, | 454 | static int dib3000mb_get_frontend(struct dvb_frontend* fe, |
457 | struct dvb_frontend_parameters *fep) | 455 | struct dtv_frontend_properties *c) |
458 | { | 456 | { |
459 | struct dib3000_state* state = fe->demodulator_priv; | 457 | struct dib3000_state* state = fe->demodulator_priv; |
460 | struct dvb_ofdm_parameters *ofdm = &fep->u.ofdm; | ||
461 | fe_code_rate_t *cr; | 458 | fe_code_rate_t *cr; |
462 | u16 tps_val; | 459 | u16 tps_val; |
463 | int inv_test1,inv_test2; | 460 | int inv_test1,inv_test2; |
@@ -484,25 +481,25 @@ static int dib3000mb_get_frontend(struct dvb_frontend* fe, | |||
484 | else | 481 | else |
485 | inv_test2 = 2; | 482 | inv_test2 = 2; |
486 | 483 | ||
487 | fep->inversion = | 484 | c->inversion = |
488 | ((inv_test2 == 2) && (inv_test1==1 || inv_test1==0)) || | 485 | ((inv_test2 == 2) && (inv_test1==1 || inv_test1==0)) || |
489 | ((inv_test2 == 0) && (inv_test1==1 || inv_test1==2)) ? | 486 | ((inv_test2 == 0) && (inv_test1==1 || inv_test1==2)) ? |
490 | INVERSION_ON : INVERSION_OFF; | 487 | INVERSION_ON : INVERSION_OFF; |
491 | 488 | ||
492 | deb_getf("inversion %d %d, %d\n", inv_test2, inv_test1, fep->inversion); | 489 | deb_getf("inversion %d %d, %d\n", inv_test2, inv_test1, c->inversion); |
493 | 490 | ||
494 | switch ((tps_val = rd(DIB3000MB_REG_TPS_QAM))) { | 491 | switch ((tps_val = rd(DIB3000MB_REG_TPS_QAM))) { |
495 | case DIB3000_CONSTELLATION_QPSK: | 492 | case DIB3000_CONSTELLATION_QPSK: |
496 | deb_getf("QPSK "); | 493 | deb_getf("QPSK "); |
497 | ofdm->constellation = QPSK; | 494 | c->modulation = QPSK; |
498 | break; | 495 | break; |
499 | case DIB3000_CONSTELLATION_16QAM: | 496 | case DIB3000_CONSTELLATION_16QAM: |
500 | deb_getf("QAM16 "); | 497 | deb_getf("QAM16 "); |
501 | ofdm->constellation = QAM_16; | 498 | c->modulation = QAM_16; |
502 | break; | 499 | break; |
503 | case DIB3000_CONSTELLATION_64QAM: | 500 | case DIB3000_CONSTELLATION_64QAM: |
504 | deb_getf("QAM64 "); | 501 | deb_getf("QAM64 "); |
505 | ofdm->constellation = QAM_64; | 502 | c->modulation = QAM_64; |
506 | break; | 503 | break; |
507 | default: | 504 | default: |
508 | err("Unexpected constellation returned by TPS (%d)", tps_val); | 505 | err("Unexpected constellation returned by TPS (%d)", tps_val); |
@@ -512,24 +509,24 @@ static int dib3000mb_get_frontend(struct dvb_frontend* fe, | |||
512 | 509 | ||
513 | if (rd(DIB3000MB_REG_TPS_HRCH)) { | 510 | if (rd(DIB3000MB_REG_TPS_HRCH)) { |
514 | deb_getf("HRCH ON\n"); | 511 | deb_getf("HRCH ON\n"); |
515 | cr = &ofdm->code_rate_LP; | 512 | cr = &c->code_rate_LP; |
516 | ofdm->code_rate_HP = FEC_NONE; | 513 | c->code_rate_HP = FEC_NONE; |
517 | switch ((tps_val = rd(DIB3000MB_REG_TPS_VIT_ALPHA))) { | 514 | switch ((tps_val = rd(DIB3000MB_REG_TPS_VIT_ALPHA))) { |
518 | case DIB3000_ALPHA_0: | 515 | case DIB3000_ALPHA_0: |
519 | deb_getf("HIERARCHY_NONE "); | 516 | deb_getf("HIERARCHY_NONE "); |
520 | ofdm->hierarchy_information = HIERARCHY_NONE; | 517 | c->hierarchy = HIERARCHY_NONE; |
521 | break; | 518 | break; |
522 | case DIB3000_ALPHA_1: | 519 | case DIB3000_ALPHA_1: |
523 | deb_getf("HIERARCHY_1 "); | 520 | deb_getf("HIERARCHY_1 "); |
524 | ofdm->hierarchy_information = HIERARCHY_1; | 521 | c->hierarchy = HIERARCHY_1; |
525 | break; | 522 | break; |
526 | case DIB3000_ALPHA_2: | 523 | case DIB3000_ALPHA_2: |
527 | deb_getf("HIERARCHY_2 "); | 524 | deb_getf("HIERARCHY_2 "); |
528 | ofdm->hierarchy_information = HIERARCHY_2; | 525 | c->hierarchy = HIERARCHY_2; |
529 | break; | 526 | break; |
530 | case DIB3000_ALPHA_4: | 527 | case DIB3000_ALPHA_4: |
531 | deb_getf("HIERARCHY_4 "); | 528 | deb_getf("HIERARCHY_4 "); |
532 | ofdm->hierarchy_information = HIERARCHY_4; | 529 | c->hierarchy = HIERARCHY_4; |
533 | break; | 530 | break; |
534 | default: | 531 | default: |
535 | err("Unexpected ALPHA value returned by TPS (%d)", tps_val); | 532 | err("Unexpected ALPHA value returned by TPS (%d)", tps_val); |
@@ -540,9 +537,9 @@ static int dib3000mb_get_frontend(struct dvb_frontend* fe, | |||
540 | tps_val = rd(DIB3000MB_REG_TPS_CODE_RATE_LP); | 537 | tps_val = rd(DIB3000MB_REG_TPS_CODE_RATE_LP); |
541 | } else { | 538 | } else { |
542 | deb_getf("HRCH OFF\n"); | 539 | deb_getf("HRCH OFF\n"); |
543 | cr = &ofdm->code_rate_HP; | 540 | cr = &c->code_rate_HP; |
544 | ofdm->code_rate_LP = FEC_NONE; | 541 | c->code_rate_LP = FEC_NONE; |
545 | ofdm->hierarchy_information = HIERARCHY_NONE; | 542 | c->hierarchy = HIERARCHY_NONE; |
546 | 543 | ||
547 | tps_val = rd(DIB3000MB_REG_TPS_CODE_RATE_HP); | 544 | tps_val = rd(DIB3000MB_REG_TPS_CODE_RATE_HP); |
548 | } | 545 | } |
@@ -577,19 +574,19 @@ static int dib3000mb_get_frontend(struct dvb_frontend* fe, | |||
577 | switch ((tps_val = rd(DIB3000MB_REG_TPS_GUARD_TIME))) { | 574 | switch ((tps_val = rd(DIB3000MB_REG_TPS_GUARD_TIME))) { |
578 | case DIB3000_GUARD_TIME_1_32: | 575 | case DIB3000_GUARD_TIME_1_32: |
579 | deb_getf("GUARD_INTERVAL_1_32 "); | 576 | deb_getf("GUARD_INTERVAL_1_32 "); |
580 | ofdm->guard_interval = GUARD_INTERVAL_1_32; | 577 | c->guard_interval = GUARD_INTERVAL_1_32; |
581 | break; | 578 | break; |
582 | case DIB3000_GUARD_TIME_1_16: | 579 | case DIB3000_GUARD_TIME_1_16: |
583 | deb_getf("GUARD_INTERVAL_1_16 "); | 580 | deb_getf("GUARD_INTERVAL_1_16 "); |
584 | ofdm->guard_interval = GUARD_INTERVAL_1_16; | 581 | c->guard_interval = GUARD_INTERVAL_1_16; |
585 | break; | 582 | break; |
586 | case DIB3000_GUARD_TIME_1_8: | 583 | case DIB3000_GUARD_TIME_1_8: |
587 | deb_getf("GUARD_INTERVAL_1_8 "); | 584 | deb_getf("GUARD_INTERVAL_1_8 "); |
588 | ofdm->guard_interval = GUARD_INTERVAL_1_8; | 585 | c->guard_interval = GUARD_INTERVAL_1_8; |
589 | break; | 586 | break; |
590 | case DIB3000_GUARD_TIME_1_4: | 587 | case DIB3000_GUARD_TIME_1_4: |
591 | deb_getf("GUARD_INTERVAL_1_4 "); | 588 | deb_getf("GUARD_INTERVAL_1_4 "); |
592 | ofdm->guard_interval = GUARD_INTERVAL_1_4; | 589 | c->guard_interval = GUARD_INTERVAL_1_4; |
593 | break; | 590 | break; |
594 | default: | 591 | default: |
595 | err("Unexpected Guard Time returned by TPS (%d)", tps_val); | 592 | err("Unexpected Guard Time returned by TPS (%d)", tps_val); |
@@ -600,11 +597,11 @@ static int dib3000mb_get_frontend(struct dvb_frontend* fe, | |||
600 | switch ((tps_val = rd(DIB3000MB_REG_TPS_FFT))) { | 597 | switch ((tps_val = rd(DIB3000MB_REG_TPS_FFT))) { |
601 | case DIB3000_TRANSMISSION_MODE_2K: | 598 | case DIB3000_TRANSMISSION_MODE_2K: |
602 | deb_getf("TRANSMISSION_MODE_2K "); | 599 | deb_getf("TRANSMISSION_MODE_2K "); |
603 | ofdm->transmission_mode = TRANSMISSION_MODE_2K; | 600 | c->transmission_mode = TRANSMISSION_MODE_2K; |
604 | break; | 601 | break; |
605 | case DIB3000_TRANSMISSION_MODE_8K: | 602 | case DIB3000_TRANSMISSION_MODE_8K: |
606 | deb_getf("TRANSMISSION_MODE_8K "); | 603 | deb_getf("TRANSMISSION_MODE_8K "); |
607 | ofdm->transmission_mode = TRANSMISSION_MODE_8K; | 604 | c->transmission_mode = TRANSMISSION_MODE_8K; |
608 | break; | 605 | break; |
609 | default: | 606 | default: |
610 | err("unexpected transmission mode return by TPS (%d)", tps_val); | 607 | err("unexpected transmission mode return by TPS (%d)", tps_val); |
@@ -701,9 +698,9 @@ static int dib3000mb_fe_init_nonmobile(struct dvb_frontend* fe) | |||
701 | return dib3000mb_fe_init(fe, 0); | 698 | return dib3000mb_fe_init(fe, 0); |
702 | } | 699 | } |
703 | 700 | ||
704 | static int dib3000mb_set_frontend_and_tuner(struct dvb_frontend* fe, struct dvb_frontend_parameters *fep) | 701 | static int dib3000mb_set_frontend_and_tuner(struct dvb_frontend *fe) |
705 | { | 702 | { |
706 | return dib3000mb_set_frontend(fe, fep, 1); | 703 | return dib3000mb_set_frontend(fe, 1); |
707 | } | 704 | } |
708 | 705 | ||
709 | static void dib3000mb_release(struct dvb_frontend* fe) | 706 | static void dib3000mb_release(struct dvb_frontend* fe) |
@@ -794,7 +791,7 @@ error: | |||
794 | } | 791 | } |
795 | 792 | ||
796 | static struct dvb_frontend_ops dib3000mb_ops = { | 793 | static struct dvb_frontend_ops dib3000mb_ops = { |
797 | 794 | .delsys = { SYS_DVBT }, | |
798 | .info = { | 795 | .info = { |
799 | .name = "DiBcom 3000M-B DVB-T", | 796 | .name = "DiBcom 3000M-B DVB-T", |
800 | .type = FE_OFDM, | 797 | .type = FE_OFDM, |
@@ -816,8 +813,8 @@ static struct dvb_frontend_ops dib3000mb_ops = { | |||
816 | .init = dib3000mb_fe_init_nonmobile, | 813 | .init = dib3000mb_fe_init_nonmobile, |
817 | .sleep = dib3000mb_sleep, | 814 | .sleep = dib3000mb_sleep, |
818 | 815 | ||
819 | .set_frontend_legacy = dib3000mb_set_frontend_and_tuner, | 816 | .set_frontend = dib3000mb_set_frontend_and_tuner, |
820 | .get_frontend_legacy = dib3000mb_get_frontend, | 817 | .get_frontend = dib3000mb_get_frontend, |
821 | .get_tune_settings = dib3000mb_fe_get_tune_settings, | 818 | .get_tune_settings = dib3000mb_fe_get_tune_settings, |
822 | 819 | ||
823 | .read_status = dib3000mb_read_status, | 820 | .read_status = dib3000mb_read_status, |