[media] firedtv: convert set_fontend to use DVBv5 parameters
Instead of using dvb_frontend_parameters struct, that were
designed for a subset of the supported standards, use the DVBv5
cache information.
Also, fill the supported delivery systems at dvb_frontend_ops
struct.
Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
diff --git a/drivers/media/dvb/firewire/firedtv-fe.c b/drivers/media/dvb/firewire/firedtv-fe.c
index 1eb5ad3..e1705a9 100644
--- a/drivers/media/dvb/firewire/firedtv-fe.c
+++ b/drivers/media/dvb/firewire/firedtv-fe.c
@@ -141,16 +141,16 @@
return -EOPNOTSUPP;
}
-static int fdtv_set_frontend(struct dvb_frontend *fe,
- struct dvb_frontend_parameters *params)
+static int fdtv_set_frontend(struct dvb_frontend *fe)
{
+ struct dtv_frontend_properties *p = &fe->dtv_property_cache;
struct firedtv *fdtv = fe->sec_priv;
- return avc_tuner_dsd(fdtv, params);
+ return avc_tuner_dsd(fdtv, p);
}
static int fdtv_get_frontend(struct dvb_frontend *fe,
- struct dvb_frontend_parameters *params)
+ struct dtv_frontend_properties *params)
{
return -EOPNOTSUPP;
}
@@ -173,8 +173,8 @@
ops->init = fdtv_dvb_init;
ops->sleep = fdtv_sleep;
- ops->set_frontend_legacy = fdtv_set_frontend;
- ops->get_frontend_legacy = fdtv_get_frontend;
+ ops->set_frontend = fdtv_set_frontend;
+ ops->get_frontend = fdtv_get_frontend;
ops->get_property = fdtv_get_property;
ops->set_property = fdtv_set_property;
@@ -192,6 +192,7 @@
switch (fdtv->type) {
case FIREDTV_DVB_S:
+ ops->delsys[0] = SYS_DVBS;
fi->type = FE_QPSK;
fi->frequency_min = 950000;
@@ -211,6 +212,8 @@
break;
case FIREDTV_DVB_S2:
+ ops->delsys[0] = SYS_DVBS;
+ ops->delsys[1] = SYS_DVBS;
fi->type = FE_QPSK;
fi->frequency_min = 950000;
@@ -231,6 +234,7 @@
break;
case FIREDTV_DVB_C:
+ ops->delsys[0] = SYS_DVBC_ANNEX_A;
fi->type = FE_QAM;
fi->frequency_min = 47000000;
@@ -249,6 +253,7 @@
break;
case FIREDTV_DVB_T:
+ ops->delsys[0] = SYS_DVBT;
fi->type = FE_OFDM;
fi->frequency_min = 49000000;