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>
This commit is contained in:
Manu Abraham 2006-06-21 10:27:05 -03:00 committed by Mauro Carvalho Chehab
parent 4821fb1d84
commit bc7386ba43
1 changed files with 30 additions and 1 deletions

View File

@ -558,6 +558,10 @@ static int dst_type_print(u8 type)
otype = "cable"; otype = "cable";
break; break;
case DST_TYPE_IS_ATSC:
otype = "atsc";
break;
default: default:
dprintk(verbose, DST_INFO, 1, "invalid dst type %d", type); dprintk(verbose, DST_INFO, 1, "invalid dst type %d", type);
return -EINVAL; return -EINVAL;
@ -1408,6 +1412,7 @@ static void dst_release(struct dvb_frontend *fe)
static struct dvb_frontend_ops dst_dvbt_ops; static struct dvb_frontend_ops dst_dvbt_ops;
static struct dvb_frontend_ops dst_dvbs_ops; static struct dvb_frontend_ops dst_dvbs_ops;
static struct dvb_frontend_ops dst_dvbc_ops; static struct dvb_frontend_ops dst_dvbc_ops;
static struct dvb_frontend_ops dst_atsc_ops;
struct dst_state *dst_attach(struct dst_state *state, struct dvb_adapter *dvb_adapter) struct dst_state *dst_attach(struct dst_state *state, struct dvb_adapter *dvb_adapter)
{ {
@ -1428,6 +1433,9 @@ struct dst_state *dst_attach(struct dst_state *state, struct dvb_adapter *dvb_ad
case DST_TYPE_IS_SAT: case DST_TYPE_IS_SAT:
memcpy(&state->frontend.ops, &dst_dvbs_ops, sizeof(struct dvb_frontend_ops)); memcpy(&state->frontend.ops, &dst_dvbs_ops, sizeof(struct dvb_frontend_ops));
break; break;
case DST_TYPE_IS_ATSC:
memcpy(&state->frontend.ops, &dst_atsc_ops, sizeof(struct dvb_frontend_ops));
break;
default: default:
dprintk(verbose, DST_ERROR, 1, "unknown DST type. please report to the LinuxTV.org DVB mailinglist."); dprintk(verbose, DST_ERROR, 1, "unknown DST type. please report to the LinuxTV.org DVB mailinglist.");
kfree(state); kfree(state);
@ -1511,6 +1519,27 @@ static struct dvb_frontend_ops dst_dvbc_ops = {
.read_snr = dst_read_snr, .read_snr = dst_read_snr,
}; };
MODULE_DESCRIPTION("DST DVB-S/T/C Combo Frontend driver"); static struct dvb_frontend_ops dst_atsc_ops = {
.info = {
.name = "DST ATSC",
.type = FE_ATSC,
.frequency_stepsize = 62500,
.frequency_min = 510000000,
.frequency_max = 858000000,
.symbol_rate_min = 1000000,
.symbol_rate_max = 45000000,
.caps = FE_CAN_FEC_AUTO | FE_CAN_QAM_AUTO | FE_CAN_QAM_64 | FE_CAN_QAM_256 | FE_CAN_8VSB
},
.release = dst_release,
.init = dst_init,
.tune = dst_set_frontend,
.get_frontend = dst_get_frontend,
.read_status = dst_read_status,
.read_signal_strength = dst_read_signal_strength,
.read_snr = dst_read_snr,
};
MODULE_DESCRIPTION("DST DVB-S/T/C/ATSC Combo Frontend driver");
MODULE_AUTHOR("Jamie Honan, Manu Abraham"); MODULE_AUTHOR("Jamie Honan, Manu Abraham");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");