Pārlūkot izejas kodu

[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: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab 13 gadi atpakaļ
vecāks
revīzija
6225f18b88

+ 6 - 1
drivers/media/common/tuners/tda827x.c

@@ -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;

+ 1 - 5
drivers/media/dvb/firewire/firedtv-fe.c

@@ -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)
 
 
 	case FIREDTV_DVB_S2:
 	case FIREDTV_DVB_S2:
 		ops->delsys[0]		= SYS_DVBS;
 		ops->delsys[0]		= SYS_DVBS;
-		ops->delsys[1]		= SYS_DVBS;
-		fi->type		= FE_QPSK;
+		ops->delsys[1]		= SYS_DVBS2;
 
 
 		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)
 
 
 	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)
 
 
 	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;

+ 0 - 1
drivers/staging/media/as102/as102_fe.c

@@ -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,