summaryrefslogtreecommitdiff
path: root/drivers/media/video/ivtv/ivtv-driver.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-05-14 13:31:25 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-05-14 13:31:25 -0700
commit4717df58304b60ac26cdb157d57f39ae1e3a336f (patch)
tree9cf37756aca53f79702a90b062369d60c7c97eff /drivers/media/video/ivtv/ivtv-driver.c
parentfc99824c427ed998e3c5e376bd9c640fde1c407c (diff)
parentc2b7bbea83b239b1877f3cafe0cdcbbd08e65648 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
* git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (70 commits) V4L/DVB (7900): pvrusb: Fix Kconfig if DVB=m V4L_core=y V4L/DVB (7899): Fixes a few remaining Kbuild issues at common/tuners V4L/DVB (7898): Fix VIDEO_MEDIA Kconfig logic V4L/DVB (7895): tveeprom: update Hauppauge analog audio and video decoders V4L/DVB (7893): xc5000: bug-fix: allow multiple devices in a single system V4L/DVB (7891): cx18/ivtv: fix open() kernel oops V4L/DVB (7890): cx18: removed bogus and confusing conditional V4L/DVB (7889): cx18: improve HVR-1600 detection. V4L/DVB (7888): cx18: minor card definition updates. V4L/DVB (7887): cx18: fix Compro H900 analog support. V4L/DVB (7881): saa7134: fixed a compile warning in saa7134-core.c V4L/DVB (7880): saa7134: remove explicit GPIO initialization V4L/DVB(7879): Adding cx18 Support for mxl5005s V4L/DVB(7878): mxl55005s: Makefile and Kconfig additions V4L/DVB(7877): mxl5005s: Ensure debug is off V4L/DVB(7876): mxl5005s: Remove incorrect copyright holders V4L/DVB(7875): mxl5005s: Remove redundant functions V4L/DVB(7874): mxl5005s: Fix function statics V4L/DVB(7873): mxl5005s: Fix header includes. V4L/DVB(7872): mxl5005s: checkpatch.pl compliance ...
Diffstat (limited to 'drivers/media/video/ivtv/ivtv-driver.c')
-rw-r--r--drivers/media/video/ivtv/ivtv-driver.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/media/video/ivtv/ivtv-driver.c b/drivers/media/video/ivtv/ivtv-driver.c
index ed020f722b05..797e636771da 100644
--- a/drivers/media/video/ivtv/ivtv-driver.c
+++ b/drivers/media/video/ivtv/ivtv-driver.c
@@ -853,6 +853,7 @@ static int ivtv_setup_pci(struct ivtv *itv, struct pci_dev *dev,
return 0;
}
+#ifdef MODULE
static u32 ivtv_request_module(struct ivtv *itv, u32 hw,
const char *name, u32 id)
{
@@ -865,12 +866,14 @@ static u32 ivtv_request_module(struct ivtv *itv, u32 hw,
IVTV_DEBUG_INFO("Loaded module %s\n", name);
return hw;
}
+#endif
static void ivtv_load_and_init_modules(struct ivtv *itv)
{
u32 hw = itv->card->hw_all;
unsigned i;
+#ifdef MODULE
/* load modules */
#ifndef CONFIG_MEDIA_TUNER
hw = ivtv_request_module(itv, hw, "tuner", IVTV_HW_TUNER);
@@ -911,6 +914,7 @@ static void ivtv_load_and_init_modules(struct ivtv *itv)
#ifndef CONFIG_VIDEO_M52790
hw = ivtv_request_module(itv, hw, "m52790", IVTV_HW_M52790);
#endif
+#endif
/* check which i2c devices are actually found */
for (i = 0; i < 32; i++) {
@@ -1228,7 +1232,7 @@ static int __devinit ivtv_probe(struct pci_dev *dev,
return 0;
free_streams:
- ivtv_streams_cleanup(itv);
+ ivtv_streams_cleanup(itv, 1);
free_irq:
free_irq(itv->dev->irq, (void *)itv);
free_i2c:
@@ -1373,7 +1377,7 @@ static void ivtv_remove(struct pci_dev *pci_dev)
flush_workqueue(itv->irq_work_queues);
destroy_workqueue(itv->irq_work_queues);
- ivtv_streams_cleanup(itv);
+ ivtv_streams_cleanup(itv, 1);
ivtv_udma_free(itv);
exit_ivtv_i2c(itv);