diff options
author | Michael Krufky <mkrufky@kernellabs.com> | 2009-05-23 17:00:59 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-12-05 15:40:21 -0500 |
commit | 9133aee09e3689c116c526fa9011c33b872e65c1 (patch) | |
tree | 39d57cadaf657855da42f44d77567f0a3ba3bc82 /drivers/media/video | |
parent | dbda8f701abb0e4693a30e9bef4a2301d1c8ea80 (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.c | 2 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-dvb.c | 2 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 2 | ||||
-rw-r--r-- | drivers/media/video/videobuf-dvb.c | 11 |
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 | ||
1179 | frontend_detach: | 1179 | frontend_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; |