diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-17 20:36:41 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 13:09:40 -0400 |
commit | 3aefb79af8d41c85e11da7109d62038849421bb6 (patch) | |
tree | 1a85e8e0de5136f9c578db882c49f8faa6ecd4a5 /drivers/media/video/em28xx/em28xx-video.c | |
parent | 168c626cb8f85df17585af99e14403904641c7ac (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.c | 12 |
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 | |||
70 | MODULE_AUTHOR(DRIVER_AUTHOR); | 66 | MODULE_AUTHOR(DRIVER_AUTHOR); |
71 | MODULE_DESCRIPTION(DRIVER_DESC); | 67 | MODULE_DESCRIPTION(DRIVER_DESC); |
72 | MODULE_LICENSE("GPL"); | 68 | MODULE_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 | ||
2242 | static void request_modules(struct em28xx *dev) | 2241 | static 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; |