diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2007-07-22 11:52:40 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-10-09 21:03:20 -0400 |
commit | c976bc82339437e840f7dbf0b8c89c09d3fcd75e (patch) | |
tree | a8e48cead1f061340fe19890fde43d880c26b92a /drivers/media/video/ivtv/ivtv-driver.h | |
parent | fa8a7529ba8c3c2f87dec78ad32c388695f4c1b7 (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.h | 5 |
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 8fe9d9c7a18e..6e53a1f04f7e 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); | |||
838 | struct tveeprom; /* forward reference */ | 840 | struct tveeprom; /* forward reference */ |
839 | void ivtv_read_eeprom(struct ivtv *itv, struct tveeprom *tv); | 841 | void ivtv_read_eeprom(struct ivtv *itv, struct tveeprom *tv); |
840 | 842 | ||
843 | /* First-open initialization: load firmware, init cx25840, etc. */ | ||
844 | int 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 |