aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/ivtv/ivtv-driver.h
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2007-07-22 11:52:40 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-10-09 21:03:20 -0400
commitc976bc82339437e840f7dbf0b8c89c09d3fcd75e (patch)
treea8e48cead1f061340fe19890fde43d880c26b92a /drivers/media/video/ivtv/ivtv-driver.h
parentfa8a7529ba8c3c2f87dec78ad32c388695f4c1b7 (diff)
V4L/DVB (5922): ivtv, cx25840: postpone fw load until first use
The firmware is now loaded when the driver is actually used for the first time. This allows the driver to be compiled in-kernel instead of as a module. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/ivtv/ivtv-driver.h')
-rw-r--r--drivers/media/video/ivtv/ivtv-driver.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/media/video/ivtv/ivtv-driver.h b/drivers/media/video/ivtv/ivtv-driver.h
index 8fe9d9c7a18..6e53a1f04f7 100644
--- a/drivers/media/video/ivtv/ivtv-driver.h
+++ b/drivers/media/video/ivtv/ivtv-driver.h
@@ -398,6 +398,8 @@ struct ivtv_mailbox_data {
398#define IVTV_F_I_WORK_HANDLER_PIO 18 /* there is work to be done for PIO */ 398#define IVTV_F_I_WORK_HANDLER_PIO 18 /* there is work to be done for PIO */
399#define IVTV_F_I_PIO 19 /* PIO in progress */ 399#define IVTV_F_I_PIO 19 /* PIO in progress */
400#define IVTV_F_I_DEC_PAUSED 20 /* the decoder is paused */ 400#define IVTV_F_I_DEC_PAUSED 20 /* the decoder is paused */
401#define IVTV_F_I_INITED 21 /* set after first open */
402#define IVTV_F_I_FAILED 22 /* set if first open failed */
401 403
402/* Event notifications */ 404/* Event notifications */
403#define IVTV_F_I_EV_DEC_STOPPED 28 /* decoder stopped event */ 405#define IVTV_F_I_EV_DEC_STOPPED 28 /* decoder stopped event */
@@ -838,6 +840,9 @@ int ivtv_waitq(wait_queue_head_t *waitq);
838struct tveeprom; /* forward reference */ 840struct tveeprom; /* forward reference */
839void ivtv_read_eeprom(struct ivtv *itv, struct tveeprom *tv); 841void ivtv_read_eeprom(struct ivtv *itv, struct tveeprom *tv);
840 842
843/* First-open initialization: load firmware, init cx25840, etc. */
844int ivtv_init_on_first_open(struct ivtv *itv);
845
841/* This is a PCI post thing, where if the pci register is not read, then 846/* This is a PCI post thing, where if the pci register is not read, then
842 the write doesn't always take effect right away. By reading back the 847 the write doesn't always take effect right away. By reading back the
843 register any pending PCI writes will be performed (in order), and so 848 register any pending PCI writes will be performed (in order), and so