aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/em28xx/em28xx-video.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2008-04-17 20:36:41 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-04-24 13:09:40 -0400
commit3aefb79af8d41c85e11da7109d62038849421bb6 (patch)
tree1a85e8e0de5136f9c578db882c49f8faa6ecd4a5 /drivers/media/video/em28xx/em28xx-video.c
parent168c626cb8f85df17585af99e14403904641c7ac (diff)
V4L/DVB (7593): em28xx: add a module to handle dvb
This patch adds em28xx-dvb. This driver is highly based on cx88-dvb and saa7134-dvb. This code currently loads and unloads successfully. However, some changes are needed to properly support the mpeg streams and to setup em28xx to work on DVB mode. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-video.c')
-rw-r--r--drivers/media/video/em28xx/em28xx-video.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/media/video/em28xx/em28xx-video.c b/drivers/media/video/em28xx/em28xx-video.c
index 6084f8452b2b..362251838d4b 100644
--- a/drivers/media/video/em28xx/em28xx-video.c
+++ b/drivers/media/video/em28xx/em28xx-video.c
@@ -63,10 +63,6 @@ MODULE_PARM_DESC(isoc_debug, "enable debug messages [isoc transfers]");
63 printk(KERN_INFO "%s %s :"fmt, \ 63 printk(KERN_INFO "%s %s :"fmt, \
64 dev->name, __func__ , ##arg); } while (0) 64 dev->name, __func__ , ##arg); } while (0)
65 65
66/* Limits minimum and default number of buffers */
67#define EM28XX_MIN_BUF 4
68#define EM28XX_DEF_BUF 8
69
70MODULE_AUTHOR(DRIVER_AUTHOR); 66MODULE_AUTHOR(DRIVER_AUTHOR);
71MODULE_DESCRIPTION(DRIVER_DESC); 67MODULE_DESCRIPTION(DRIVER_DESC);
72MODULE_LICENSE("GPL"); 68MODULE_LICENSE("GPL");
@@ -2237,6 +2233,9 @@ static void request_module_async(struct work_struct *work)
2237 request_module("snd-usb-audio"); 2233 request_module("snd-usb-audio");
2238 else 2234 else
2239 request_module("em28xx-alsa"); 2235 request_module("em28xx-alsa");
2236
2237 if (dev->has_dvb)
2238 request_module("em28xx-dvb");
2240} 2239}
2241 2240
2242static void request_modules(struct em28xx *dev) 2241static void request_modules(struct em28xx *dev)
@@ -2368,6 +2367,11 @@ static int em28xx_usb_probe(struct usb_interface *interface,
2368 /* save our data pointer in this interface device */ 2367 /* save our data pointer in this interface device */
2369 usb_set_intfdata(interface, dev); 2368 usb_set_intfdata(interface, dev);
2370 2369
2370#if defined(CONFIG_VIDEO_EM28XX_DVB) || defined(CONFIG_VIDEO_EM28XX_DVB_MODULE)
2371 dev->qops = kmalloc(sizeof(em28xx_video_qops), GFP_KERNEL);
2372 memcpy(dev->qops, &em28xx_video_qops, sizeof(em28xx_video_qops));
2373#endif
2374
2371 request_modules(dev); 2375 request_modules(dev);
2372 2376
2373 return 0; 2377 return 0;