summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorManu Abraham <manu@linuxtv.org>2006-06-21 17:27:05 +0400
committerManu Abraham <manu@linuxtv.org>2006-06-21 17:27:05 +0400
commit43f575078dddff45699048ba8dba7cf52584ecdc (patch)
treee843d7d56c8a06929dceb3944bd1d15f1cec2a7e /linux
parentd6de826540bf1e5008ed36f6b292fbc4a2497291 (diff)
downloadmediapointer-dvb-s2-43f575078dddff45699048ba8dba7cf52584ecdc.tar.gz
mediapointer-dvb-s2-43f575078dddff45699048ba8dba7cf52584ecdc.tar.bz2
Add basic ATSC support to DST
From: Manu Abraham <abraham.manu@gmail.com> Signed-off-by: Manu Abraham <manu@linuxtv.org>
Diffstat (limited to 'linux')
-rw-r--r--linux/drivers/media/dvb/bt8xx/dst.c31
1 files changed, 30 insertions, 1 deletions
diff --git a/linux/drivers/media/dvb/bt8xx/dst.c b/linux/drivers/media/dvb/bt8xx/dst.c
index b2018b5a4..f0a2762b8 100644
--- a/linux/drivers/media/dvb/bt8xx/dst.c
+++ b/linux/drivers/media/dvb/bt8xx/dst.c
@@ -557,6 +557,10 @@ static int dst_type_print(u8 type)
case DST_TYPE_IS_CABLE:
otype = "cable";
break;
+
+ case DST_TYPE_IS_ATSC:
+ otype = "atsc";
+ break;
default:
dprintk(verbose, DST_INFO, 1, "invalid dst type %d", type);
@@ -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_dvbs_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)
{
@@ -1428,6 +1433,9 @@ struct dst_state *dst_attach(struct dst_state *state, struct dvb_adapter *dvb_ad
case DST_TYPE_IS_SAT:
memcpy(&state->frontend.ops, &dst_dvbs_ops, sizeof(struct dvb_frontend_ops));
break;
+ case DST_TYPE_IS_ATSC:
+ memcpy(&state->frontend.ops, &dst_atsc_ops, sizeof(struct dvb_frontend_ops));
+ break;
default:
dprintk(verbose, DST_ERROR, 1, "unknown DST type. please report to the LinuxTV.org DVB mailinglist.");
kfree(state);
@@ -1511,6 +1519,27 @@ static struct dvb_frontend_ops dst_dvbc_ops = {
.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_LICENSE("GPL");