DVB Update [PATCH 30/31] support DBFE_SET_DELSYS backward compat

From: Manu Abraham
Date: Thu Sep 04 2008 - 16:36:20 EST


>From ce418a935a3439b68273550dea6caf3a7a820e8f Mon Sep 17 00:00:00 2001
From: Manu Abraham <manu@xxxxxxxxxxx>
Date: Thu, 4 Sep 2008 14:58:55 +0200
Subject: [PATCH] DVB Support DVBFE_SET_DELSYS backward compatibility

Make DVBFE_SET_DELSYS backward compatible

From: Reinhard Nissl <rnissl@xxxxxx>
Signed-off-by: Reinhard Nissl <rnissl@xxxxxx>
Signed-off-by: Manu Abraham <manu@xxxxxxxxxxx>

dvb_frontend.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

>From ce418a935a3439b68273550dea6caf3a7a820e8f Mon Sep 17 00:00:00 2001
From: Manu Abraham <manu@xxxxxxxxxxx>
Date: Thu, 4 Sep 2008 14:58:55 +0200
Subject: [PATCH] DVB Support DVBFE_SET_DELSYS backward compatibility

Make DVBFE_SET_DELSYS backward compatible

From: Reinhard Nissl <rnissl@xxxxxx>
Signed-off-by: Reinhard Nissl <rnissl@xxxxxx>
Signed-off-by: Manu Abraham <manu@xxxxxxxxxxx>

diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index 3a49876..a8005ef 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -1854,6 +1854,24 @@ static int dvb_frontend_ioctl(struct inode *inode, struct file *file,
if (fe->ops.set_delsys) {
fe->ops.set_delsys(fe, fepriv->delsys);
err = 0;
+ } else {
+ err = 0;
+ switch (fe->ops.info.type) {
+ case FE_QPSK:
+ if (fepriv->delsys != DVBFE_DELSYS_DVBS)
+ err = -EINVAL;
+ break;
+ case FE_QAM:
+ if (fepriv->delsys != DVBFE_DELSYS_DVBC)
+ err = -EINVAL;
+ break;
+ case FE_OFDM:
+ if (fepriv->delsys != DVBFE_DELSYS_DVBT)
+ err = -EINVAL;
+ break;
+ default:
+ err = -EINVAL;
+ }
}
break;
case DVBFE_GET_INFO: