aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends/bcm3510.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb/frontends/bcm3510.c')
-rw-r--r--drivers/media/dvb/frontends/bcm3510.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/media/dvb/frontends/bcm3510.c b/drivers/media/dvb/frontends/bcm3510.c
index 8aff5868a5e..033cd7ad3ca 100644
--- a/drivers/media/dvb/frontends/bcm3510.c
+++ b/drivers/media/dvb/frontends/bcm3510.c
@@ -479,16 +479,16 @@ static int bcm3510_set_freq(struct bcm3510_state* st,u32 freq)
479 return -EINVAL; 479 return -EINVAL;
480} 480}
481 481
482static int bcm3510_set_frontend(struct dvb_frontend* fe, 482static int bcm3510_set_frontend(struct dvb_frontend *fe)
483 struct dvb_frontend_parameters *p)
484{ 483{
484 struct dtv_frontend_properties *c = &fe->dtv_property_cache;
485 struct bcm3510_state* st = fe->demodulator_priv; 485 struct bcm3510_state* st = fe->demodulator_priv;
486 struct bcm3510_hab_cmd_ext_acquire cmd; 486 struct bcm3510_hab_cmd_ext_acquire cmd;
487 struct bcm3510_hab_cmd_bert_control bert; 487 struct bcm3510_hab_cmd_bert_control bert;
488 int ret; 488 int ret;
489 489
490 memset(&cmd,0,sizeof(cmd)); 490 memset(&cmd,0,sizeof(cmd));
491 switch (p->u.vsb.modulation) { 491 switch (c->modulation) {
492 case QAM_256: 492 case QAM_256:
493 cmd.ACQUIRE0.MODE = 0x1; 493 cmd.ACQUIRE0.MODE = 0x1;
494 cmd.ACQUIRE1.SYM_RATE = 0x1; 494 cmd.ACQUIRE1.SYM_RATE = 0x1;
@@ -499,7 +499,8 @@ static int bcm3510_set_frontend(struct dvb_frontend* fe,
499 cmd.ACQUIRE1.SYM_RATE = 0x2; 499 cmd.ACQUIRE1.SYM_RATE = 0x2;
500 cmd.ACQUIRE1.IF_FREQ = 0x1; 500 cmd.ACQUIRE1.IF_FREQ = 0x1;
501 break; 501 break;
502/* case QAM_256: 502#if 0
503 case QAM_256:
503 cmd.ACQUIRE0.MODE = 0x3; 504 cmd.ACQUIRE0.MODE = 0x3;
504 break; 505 break;
505 case QAM_128: 506 case QAM_128:
@@ -513,7 +514,8 @@ static int bcm3510_set_frontend(struct dvb_frontend* fe,
513 break; 514 break;
514 case QAM_16: 515 case QAM_16:
515 cmd.ACQUIRE0.MODE = 0x7; 516 cmd.ACQUIRE0.MODE = 0x7;
516 break;*/ 517 break;
518#endif
517 case VSB_8: 519 case VSB_8:
518 cmd.ACQUIRE0.MODE = 0x8; 520 cmd.ACQUIRE0.MODE = 0x8;
519 cmd.ACQUIRE1.SYM_RATE = 0x0; 521 cmd.ACQUIRE1.SYM_RATE = 0x0;
@@ -552,7 +554,8 @@ static int bcm3510_set_frontend(struct dvb_frontend* fe,
552 554
553 bcm3510_bert_reset(st); 555 bcm3510_bert_reset(st);
554 556
555 if ((ret = bcm3510_set_freq(st,p->frequency)) < 0) 557 ret = bcm3510_set_freq(st, c->frequency);
558 if (ret < 0)
556 return ret; 559 return ret;
557 560
558 memset(&st->status1,0,sizeof(st->status1)); 561 memset(&st->status1,0,sizeof(st->status1));
@@ -819,10 +822,9 @@ error:
819EXPORT_SYMBOL(bcm3510_attach); 822EXPORT_SYMBOL(bcm3510_attach);
820 823
821static struct dvb_frontend_ops bcm3510_ops = { 824static struct dvb_frontend_ops bcm3510_ops = {
822 825 .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
823 .info = { 826 .info = {
824 .name = "Broadcom BCM3510 VSB/QAM frontend", 827 .name = "Broadcom BCM3510 VSB/QAM frontend",
825 .type = FE_ATSC,
826 .frequency_min = 54000000, 828 .frequency_min = 54000000,
827 .frequency_max = 803000000, 829 .frequency_max = 803000000,
828 /* stepsize is just a guess */ 830 /* stepsize is just a guess */