aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2012-08-05 13:16:29 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-08-12 06:33:30 -0400
commit9468542bf29ba6cdc9d052a7b9aa384279b0f845 (patch)
tree66e25529f0bc77e67c3b2ed898b406c72041a9f0
parent8d9b2584ffd270da14671ff6a2b25dd40dcc41de (diff)
[media] dvb core: remove support for post FE legacy ioctl intercept
This DVB_FE_IOCTL_POST isn't used, so remove it. Also, intercepting ioctl's like that only works with legacy ioctl's, due to the way it was implemented. so this design is broken. Document it. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/dvb/dvb-core/dvb_frontend.c7
-rw-r--r--drivers/media/dvb/dvb-core/dvbdev.h9
-rw-r--r--drivers/media/dvb/dvb-usb-v2/mxl111sf.c4
3 files changed, 2 insertions, 18 deletions
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index aebcdf221dd..746dfd86aea 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -2287,13 +2287,6 @@ static int dvb_frontend_ioctl_legacy(struct file *file,
2287 break; 2287 break;
2288 }; 2288 };
2289 2289
2290 if (fe->dvb->fe_ioctl_override) {
2291 cb_err = fe->dvb->fe_ioctl_override(fe, cmd, parg,
2292 DVB_FE_IOCTL_POST);
2293 if (cb_err < 0)
2294 return cb_err;
2295 }
2296
2297 return err; 2290 return err;
2298} 2291}
2299 2292
diff --git a/drivers/media/dvb/dvb-core/dvbdev.h b/drivers/media/dvb/dvb-core/dvbdev.h
index fcc6ae98745..3b2c137b182 100644
--- a/drivers/media/dvb/dvb-core/dvbdev.h
+++ b/drivers/media/dvb/dvb-core/dvbdev.h
@@ -76,7 +76,6 @@ struct dvb_adapter {
76 * after the core handles an ioctl: 76 * after the core handles an ioctl:
77 * 77 *
78 * DVB_FE_IOCTL_PRE indicates that the ioctl has not yet been handled. 78 * DVB_FE_IOCTL_PRE indicates that the ioctl has not yet been handled.
79 * DVB_FE_IOCTL_POST indicates that the ioctl has been handled.
80 * 79 *
81 * When DVB_FE_IOCTL_PRE is passed to the callback as the stage arg: 80 * When DVB_FE_IOCTL_PRE is passed to the callback as the stage arg:
82 * 81 *
@@ -86,14 +85,10 @@ struct dvb_adapter {
86 * return a negative int to prevent dvb-core from handling the ioctl, 85 * return a negative int to prevent dvb-core from handling the ioctl,
87 * and return that value as an error. 86 * and return that value as an error.
88 * 87 *
89 * When DVB_FE_IOCTL_POST is passed to the callback as the stage arg: 88 * WARNING: Don't use it on newer drivers: this only affects DVBv3
90 * 89 * calls, and should be removed soon.
91 * return 0 to allow the dvb_frontend ioctl handler to exit normally.
92 * return a negative int to cause the dvb_frontend ioctl handler to
93 * return that value as an error.
94 */ 90 */
95#define DVB_FE_IOCTL_PRE 0 91#define DVB_FE_IOCTL_PRE 0
96#define DVB_FE_IOCTL_POST 1
97 int (*fe_ioctl_override)(struct dvb_frontend *fe, 92 int (*fe_ioctl_override)(struct dvb_frontend *fe,
98 unsigned int cmd, void *parg, 93 unsigned int cmd, void *parg,
99 unsigned int stage); 94 unsigned int stage);
diff --git a/drivers/media/dvb/dvb-usb-v2/mxl111sf.c b/drivers/media/dvb/dvb-usb-v2/mxl111sf.c
index 1fb017ecee7..861e0ae2abc 100644
--- a/drivers/media/dvb/dvb-usb-v2/mxl111sf.c
+++ b/drivers/media/dvb/dvb-usb-v2/mxl111sf.c
@@ -898,10 +898,6 @@ static int mxl111sf_fe_ioctl_override(struct dvb_frontend *fe,
898 break; 898 break;
899 } 899 }
900 break; 900 break;
901
902 case DVB_FE_IOCTL_POST:
903 /* no post-ioctl handling required */
904 break;
905 } 901 }
906 return err; 902 return err;
907}; 903};