aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorManu Abraham <abraham.manu@gmail.com>2006-06-21 09:27:05 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-06-25 01:05:14 -0400
commitbc7386ba43c4e06e1fdf150c37ea6cbd778fb00c (patch)
tree1f65bcf4ffbad4abd2455ded19fef3a0748102de /drivers/media
parent4821fb1d8447a5786ea12c861b4ab5f69d400bfa (diff)
V4L/DVB (4156): Add basic ATSC support to DST
Signed-off-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/dvb/bt8xx/dst.c31
1 files changed, 30 insertions, 1 deletions
diff --git a/drivers/media/dvb/bt8xx/dst.c b/drivers/media/dvb/bt8xx/dst.c
index b2018b5a405b..755d800c0802 100644
--- a/drivers/media/dvb/bt8xx/dst.c
+++ b/drivers/media/dvb/bt8xx/dst.c
@@ -558,6 +558,10 @@ static int dst_type_print(u8 type)
558 otype = "cable"; 558 otype = "cable";
559 break; 559 break;
560 560
561 case DST_TYPE_IS_ATSC:
562 otype = "atsc";
563 break;
564
561 default: 565 default:
562 dprintk(verbose, DST_INFO, 1, "invalid dst type %d", type); 566 dprintk(verbose, DST_INFO, 1, "invalid dst type %d", type);
563 return -EINVAL; 567 return -EINVAL;
@@ -1408,6 +1412,7 @@ static void dst_release(struct dvb_frontend *fe)
1408static struct dvb_frontend_ops dst_dvbt_ops; 1412static struct dvb_frontend_ops dst_dvbt_ops;
1409static struct dvb_frontend_ops dst_dvbs_ops; 1413static struct dvb_frontend_ops dst_dvbs_ops;
1410static struct dvb_frontend_ops dst_dvbc_ops; 1414static struct dvb_frontend_ops dst_dvbc_ops;
1415static struct dvb_frontend_ops dst_atsc_ops;
1411 1416
1412struct dst_state *dst_attach(struct dst_state *state, struct dvb_adapter *dvb_adapter) 1417struct dst_state *dst_attach(struct dst_state *state, struct dvb_adapter *dvb_adapter)
1413{ 1418{
@@ -1428,6 +1433,9 @@ struct dst_state *dst_attach(struct dst_state *state, struct dvb_adapter *dvb_ad
1428 case DST_TYPE_IS_SAT: 1433 case DST_TYPE_IS_SAT:
1429 memcpy(&state->frontend.ops, &dst_dvbs_ops, sizeof(struct dvb_frontend_ops)); 1434 memcpy(&state->frontend.ops, &dst_dvbs_ops, sizeof(struct dvb_frontend_ops));
1430 break; 1435 break;
1436 case DST_TYPE_IS_ATSC:
1437 memcpy(&state->frontend.ops, &dst_atsc_ops, sizeof(struct dvb_frontend_ops));
1438 break;
1431 default: 1439 default:
1432 dprintk(verbose, DST_ERROR, 1, "unknown DST type. please report to the LinuxTV.org DVB mailinglist."); 1440 dprintk(verbose, DST_ERROR, 1, "unknown DST type. please report to the LinuxTV.org DVB mailinglist.");
1433 kfree(state); 1441 kfree(state);
@@ -1511,6 +1519,27 @@ static struct dvb_frontend_ops dst_dvbc_ops = {
1511 .read_snr = dst_read_snr, 1519 .read_snr = dst_read_snr,
1512}; 1520};
1513 1521
1514MODULE_DESCRIPTION("DST DVB-S/T/C Combo Frontend driver"); 1522static struct dvb_frontend_ops dst_atsc_ops = {
1523 .info = {
1524 .name = "DST ATSC",
1525 .type = FE_ATSC,
1526 .frequency_stepsize = 62500,
1527 .frequency_min = 510000000,
1528 .frequency_max = 858000000,
1529 .symbol_rate_min = 1000000,
1530 .symbol_rate_max = 45000000,
1531 .caps = FE_CAN_FEC_AUTO | FE_CAN_QAM_AUTO | FE_CAN_QAM_64 | FE_CAN_QAM_256 | FE_CAN_8VSB
1532 },
1533
1534 .release = dst_release,
1535 .init = dst_init,
1536 .tune = dst_set_frontend,
1537 .get_frontend = dst_get_frontend,
1538 .read_status = dst_read_status,
1539 .read_signal_strength = dst_read_signal_strength,
1540 .read_snr = dst_read_snr,
1541};
1542
1543MODULE_DESCRIPTION("DST DVB-S/T/C/ATSC Combo Frontend driver");
1515MODULE_AUTHOR("Jamie Honan, Manu Abraham"); 1544MODULE_AUTHOR("Jamie Honan, Manu Abraham");
1516MODULE_LICENSE("GPL"); 1545MODULE_LICENSE("GPL");