aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/videobuf-dvb.c
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@kernellabs.com>2009-05-23 17:00:59 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-12-05 15:40:21 -0500
commit9133aee09e3689c116c526fa9011c33b872e65c1 (patch)
tree39d57cadaf657855da42f44d77567f0a3ba3bc82 /drivers/media/video/videobuf-dvb.c
parentdbda8f701abb0e4693a30e9bef4a2301d1c8ea80 (diff)
V4L/DVB (13103): create a standard method for dvb adapter drivers to override frontend ioctls
Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/videobuf-dvb.c')
-rw-r--r--drivers/media/video/videobuf-dvb.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/media/video/videobuf-dvb.c b/drivers/media/video/videobuf-dvb.c
index 0e7dcba8e4a..a56cf0d3a6d 100644
--- a/drivers/media/video/videobuf-dvb.c
+++ b/drivers/media/video/videobuf-dvb.c
@@ -139,7 +139,9 @@ static int videobuf_dvb_register_adapter(struct videobuf_dvb_frontends *fe,
139 struct device *device, 139 struct device *device,
140 char *adapter_name, 140 char *adapter_name,
141 short *adapter_nr, 141 short *adapter_nr,
142 int mfe_shared) 142 int mfe_shared,
143 int (*fe_ioctl_override)(struct dvb_frontend *,
144 unsigned int, void *, unsigned int))
143{ 145{
144 int result; 146 int result;
145 147
@@ -154,6 +156,7 @@ static int videobuf_dvb_register_adapter(struct videobuf_dvb_frontends *fe,
154 } 156 }
155 fe->adapter.priv = adapter_priv; 157 fe->adapter.priv = adapter_priv;
156 fe->adapter.mfe_shared = mfe_shared; 158 fe->adapter.mfe_shared = mfe_shared;
159 fe->adapter.fe_ioctl_override = fe_ioctl_override;
157 160
158 return result; 161 return result;
159} 162}
@@ -253,7 +256,9 @@ int videobuf_dvb_register_bus(struct videobuf_dvb_frontends *f,
253 void *adapter_priv, 256 void *adapter_priv,
254 struct device *device, 257 struct device *device,
255 short *adapter_nr, 258 short *adapter_nr,
256 int mfe_shared) 259 int mfe_shared,
260 int (*fe_ioctl_override)(struct dvb_frontend *,
261 unsigned int, void *, unsigned int))
257{ 262{
258 struct list_head *list, *q; 263 struct list_head *list, *q;
259 struct videobuf_dvb_frontend *fe; 264 struct videobuf_dvb_frontend *fe;
@@ -267,7 +272,7 @@ int videobuf_dvb_register_bus(struct videobuf_dvb_frontends *f,
267 272
268 /* Bring up the adapter */ 273 /* Bring up the adapter */
269 res = videobuf_dvb_register_adapter(f, module, adapter_priv, device, 274 res = videobuf_dvb_register_adapter(f, module, adapter_priv, device,
270 fe->dvb.name, adapter_nr, mfe_shared); 275 fe->dvb.name, adapter_nr, mfe_shared, fe_ioctl_override);
271 if (res < 0) { 276 if (res < 0) {
272 printk(KERN_WARNING "videobuf_dvb_register_adapter failed (errno = %d)\n", res); 277 printk(KERN_WARNING "videobuf_dvb_register_adapter failed (errno = %d)\n", res);
273 return res; 278 return res;