diff options
author | Manu Abraham <abraham.manu@gmail.com> | 2006-06-21 09:27:05 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-06-25 01:05:14 -0400 |
commit | bc7386ba43c4e06e1fdf150c37ea6cbd778fb00c (patch) | |
tree | 1f65bcf4ffbad4abd2455ded19fef3a0748102de | |
parent | 4821fb1d8447a5786ea12c861b4ab5f69d400bfa (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>
-rw-r--r-- | drivers/media/dvb/bt8xx/dst.c | 31 |
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) | |||
1408 | static struct dvb_frontend_ops dst_dvbt_ops; | 1412 | static struct dvb_frontend_ops dst_dvbt_ops; |
1409 | static struct dvb_frontend_ops dst_dvbs_ops; | 1413 | static struct dvb_frontend_ops dst_dvbs_ops; |
1410 | static struct dvb_frontend_ops dst_dvbc_ops; | 1414 | static struct dvb_frontend_ops dst_dvbc_ops; |
1415 | static struct dvb_frontend_ops dst_atsc_ops; | ||
1411 | 1416 | ||
1412 | struct dst_state *dst_attach(struct dst_state *state, struct dvb_adapter *dvb_adapter) | 1417 | struct 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 | ||
1514 | MODULE_DESCRIPTION("DST DVB-S/T/C Combo Frontend driver"); | 1522 | static 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 | |||
1543 | MODULE_DESCRIPTION("DST DVB-S/T/C/ATSC Combo Frontend driver"); | ||
1515 | MODULE_AUTHOR("Jamie Honan, Manu Abraham"); | 1544 | MODULE_AUTHOR("Jamie Honan, Manu Abraham"); |
1516 | MODULE_LICENSE("GPL"); | 1545 | MODULE_LICENSE("GPL"); |