summaryrefslogtreecommitdiff
path: root/drivers/media/video/cx25840/cx25840-core.h
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2007-08-26 10:53:16 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-10-09 22:07:09 -0300
commit21340ae03a61bded62acb582264660e61c0636b9 (patch)
tree7d79ac0e0c794f50d87ea96f059aba4a366d59ef /drivers/media/video/cx25840/cx25840-core.h
parentf58db9590fc56fe519d6919abae7a70ec17b4d0e (diff)
V4L/DVB (6112): cx25840: use a workqueue to load the firmware
Loading the firmware using the i2c bit-banging code blocks the kernel. Move the firmware load code into a workqueue so that it plays well with other processes. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/cx25840/cx25840-core.h')
-rw-r--r--drivers/media/video/cx25840/cx25840-core.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/media/video/cx25840/cx25840-core.h b/drivers/media/video/cx25840/cx25840-core.h
index 86e2edfc4941..ea669b1f084d 100644
--- a/drivers/media/video/cx25840/cx25840-core.h
+++ b/drivers/media/video/cx25840/cx25840-core.h
@@ -35,7 +35,7 @@ extern int cx25840_debug;
#define CX25840_CID_ENABLE_PVR150_WORKAROUND (V4L2_CID_PRIVATE_BASE+0)
struct cx25840_state {
- struct i2c_client c;
+ struct i2c_client *c;
int pvr150_workaround;
int radio;
enum cx25840_video_input vid_input;
@@ -48,6 +48,8 @@ struct cx25840_state {
u32 rev;
int is_cx25836;
int is_initialized;
+ wait_queue_head_t fw_wait; /* wake up when the fw load is finished */
+ struct work_struct fw_work; /* work entry for fw load */
};
/* ----------------------------------------------------------------------- */