aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video
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
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')
-rw-r--r--drivers/media/video/cx23885/cx23885-dvb.c2
-rw-r--r--drivers/media/video/cx88/cx88-dvb.c2
-rw-r--r--drivers/media/video/saa7134/saa7134-dvb.c2
-rw-r--r--drivers/media/video/videobuf-dvb.c11
4 files changed, 11 insertions, 6 deletions
diff --git a/drivers/media/video/cx23885/cx23885-dvb.c b/drivers/media/video/cx23885/cx23885-dvb.c
index 45e13ee66dc7..0a03e02b119b 100644
--- a/drivers/media/video/cx23885/cx23885-dvb.c
+++ b/drivers/media/video/cx23885/cx23885-dvb.c
@@ -904,7 +904,7 @@ static int dvb_register(struct cx23885_tsport *port)
904 904
905 /* register everything */ 905 /* register everything */
906 ret = videobuf_dvb_register_bus(&port->frontends, THIS_MODULE, port, 906 ret = videobuf_dvb_register_bus(&port->frontends, THIS_MODULE, port,
907 &dev->pci->dev, adapter_nr, 0); 907 &dev->pci->dev, adapter_nr, 0, NULL);
908 908
909 /* init CI & MAC */ 909 /* init CI & MAC */
910 switch (dev->board) { 910 switch (dev->board) {
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c
index 518bcfe18bcb..d9e402b25b56 100644
--- a/drivers/media/video/cx88/cx88-dvb.c
+++ b/drivers/media/video/cx88/cx88-dvb.c
@@ -1174,7 +1174,7 @@ static int dvb_register(struct cx8802_dev *dev)
1174 1174
1175 /* register everything */ 1175 /* register everything */
1176 return videobuf_dvb_register_bus(&dev->frontends, THIS_MODULE, dev, 1176 return videobuf_dvb_register_bus(&dev->frontends, THIS_MODULE, dev,
1177 &dev->pci->dev, adapter_nr, mfe_shared); 1177 &dev->pci->dev, adapter_nr, mfe_shared, NULL);
1178 1178
1179frontend_detach: 1179frontend_detach:
1180 core->gate_ctrl = NULL; 1180 core->gate_ctrl = NULL;
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c
index 058b56bf6717..96d3668f4691 100644
--- a/drivers/media/video/saa7134/saa7134-dvb.c
+++ b/drivers/media/video/saa7134/saa7134-dvb.c
@@ -1574,7 +1574,7 @@ static int dvb_init(struct saa7134_dev *dev)
1574 1574
1575 /* register everything else */ 1575 /* register everything else */
1576 ret = videobuf_dvb_register_bus(&dev->frontends, THIS_MODULE, dev, 1576 ret = videobuf_dvb_register_bus(&dev->frontends, THIS_MODULE, dev,
1577 &dev->pci->dev, adapter_nr, 0); 1577 &dev->pci->dev, adapter_nr, 0, NULL);
1578 1578
1579 /* this sequence is necessary to make the tda1004x load its firmware 1579 /* this sequence is necessary to make the tda1004x load its firmware
1580 * and to enter analog mode of hybrid boards 1580 * and to enter analog mode of hybrid boards
diff --git a/drivers/media/video/videobuf-dvb.c b/drivers/media/video/videobuf-dvb.c
index 0e7dcba8e4ae..a56cf0d3a6d6 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;