Commit 6225f18b authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

[media] Don't test for ops->info.type inside drivers

Now, ops->info.type is handled inside the dvb_frontend
core, only for DVBv3 calls, and according with the
delivery system. So, drivers should not care or use it,
otherwise, it may have issues with DVBv5 calls.

The drivers that were still using it were detected via
this small temporary hack:

--- a/include/linux/dvb/frontend.h
+++ b/include/linux/dvb/frontend.h
@@ -29,13 +29,16 @@
 #include <linux/types.h>

 typedef enum fe_type {
+#if defined(__DVB_CORE__) || !defined (__KERNEL__)
        FE_QPSK,
        FE_QAM,
        FE_OFDM,
        FE_ATSC
+#else
+FE_FOOO
+#endif
 } fe_type_t;

-
 typedef enum fe_caps {
        FE_IS_STUPID                    = 0,
        FE_CAN_INVERSION_AUTO           = 0x1,
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 534e0481
...@@ -540,9 +540,14 @@ static int tda827xa_set_params(struct dvb_frontend *fe) ...@@ -540,9 +540,14 @@ static int tda827xa_set_params(struct dvb_frontend *fe)
} }
tuner_freq = c->frequency; tuner_freq = c->frequency;
if (fe->ops.info.type == FE_QAM) { switch (c->delivery_system) {
case SYS_DVBC_ANNEX_A:
case SYS_DVBC_ANNEX_C:
dprintk("%s select tda827xa_dvbc\n", __func__); dprintk("%s select tda827xa_dvbc\n", __func__);
frequency_map = tda827xa_dvbc; frequency_map = tda827xa_dvbc;
break;
default:
break;
} }
i = 0; i = 0;
......
...@@ -173,7 +173,6 @@ void fdtv_frontend_init(struct firedtv *fdtv, const char *name) ...@@ -173,7 +173,6 @@ void fdtv_frontend_init(struct firedtv *fdtv, const char *name)
switch (fdtv->type) { switch (fdtv->type) {
case FIREDTV_DVB_S: case FIREDTV_DVB_S:
ops->delsys[0] = SYS_DVBS; ops->delsys[0] = SYS_DVBS;
fi->type = FE_QPSK;
fi->frequency_min = 950000; fi->frequency_min = 950000;
fi->frequency_max = 2150000; fi->frequency_max = 2150000;
...@@ -193,8 +192,7 @@ void fdtv_frontend_init(struct firedtv *fdtv, const char *name) ...@@ -193,8 +192,7 @@ void fdtv_frontend_init(struct firedtv *fdtv, const char *name)
case FIREDTV_DVB_S2: case FIREDTV_DVB_S2:
ops->delsys[0] = SYS_DVBS; ops->delsys[0] = SYS_DVBS;
ops->delsys[1] = SYS_DVBS; ops->delsys[1] = SYS_DVBS2;
fi->type = FE_QPSK;
fi->frequency_min = 950000; fi->frequency_min = 950000;
fi->frequency_max = 2150000; fi->frequency_max = 2150000;
...@@ -215,7 +213,6 @@ void fdtv_frontend_init(struct firedtv *fdtv, const char *name) ...@@ -215,7 +213,6 @@ void fdtv_frontend_init(struct firedtv *fdtv, const char *name)
case FIREDTV_DVB_C: case FIREDTV_DVB_C:
ops->delsys[0] = SYS_DVBC_ANNEX_A; ops->delsys[0] = SYS_DVBC_ANNEX_A;
fi->type = FE_QAM;
fi->frequency_min = 47000000; fi->frequency_min = 47000000;
fi->frequency_max = 866000000; fi->frequency_max = 866000000;
...@@ -234,7 +231,6 @@ void fdtv_frontend_init(struct firedtv *fdtv, const char *name) ...@@ -234,7 +231,6 @@ void fdtv_frontend_init(struct firedtv *fdtv, const char *name)
case FIREDTV_DVB_T: case FIREDTV_DVB_T:
ops->delsys[0] = SYS_DVBT; ops->delsys[0] = SYS_DVBT;
fi->type = FE_OFDM;
fi->frequency_min = 49000000; fi->frequency_min = 49000000;
fi->frequency_max = 861000000; fi->frequency_max = 861000000;
......
...@@ -282,7 +282,6 @@ static struct dvb_frontend_ops as102_fe_ops = { ...@@ -282,7 +282,6 @@ static struct dvb_frontend_ops as102_fe_ops = {
.delsys = { SYS_DVBT }, .delsys = { SYS_DVBT },
.info = { .info = {
.name = "Unknown AS102 device", .name = "Unknown AS102 device",
.type = FE_OFDM,
.frequency_min = 174000000, .frequency_min = 174000000,
.frequency_max = 862000000, .frequency_max = 862000000,
.frequency_stepsize = 166667, .frequency_stepsize = 166667,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment