summaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx18/cx18-driver.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-11-11 09:25:21 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2008-11-11 09:25:21 -0800
commit853041f0899177da7a47da3a09aa327a14ebd7bb (patch)
tree0db5619b95dbb95aa9dfd3cdea5416d87b7590a6 /drivers/media/video/cx18/cx18-driver.h
parente892873c5d7431324d98dfd3ed1572a2948046be (diff)
parent1d6782bda5c1fb2bca44af50647b45427d8ef4ec (diff)
downloadop-kernel-dev-853041f0899177da7a47da3a09aa327a14ebd7bb.zip
op-kernel-dev-853041f0899177da7a47da3a09aa327a14ebd7bb.tar.gz
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (35 commits) V4L/DVB (9516): cx18: Move DVB buffer transfer handling from irq handler to work_queue V4L/DVB (9557): gspca: Small changes for the sensor HV7131B in zc3xx. V4L/DVB (9556): gspca: Bad init sequence for sensor HV7131B in zc3xx. V4L/DVB (9549): gspca: Fix a typo in one of gspca chips name. V4L/DVB (9515): cx18: Use correct Mailbox IRQ Ack values and misc IRQ handling cleanup V4L/DVB (9493): kconfig patch V4L/DVB (9527): af9015: fix compile warnings V4L/DVB (9524): af9013: fix bug in status reading V4L/DVB (9511): cx18: Mark CX18_CPU_DE_RELEASE_MDL as a slow API call V4L/DVB (9510): cx18: Fix write retries for registers that always change - part 2. V4L/DVB (9506): ivtv/cx18: fix test whether modules should be loaded or not. V4L/DVB (9499): cx88-mpeg: final fix for analogue only compilation + de-alloc fix V4L/DVB (9496): cx88-blackbird: bugfix: cx88-blackbird-mpeg-users V4L/DVB (9495): cx88-blackbird: bugfix: cx88-blackbird-poll-fix V4L/DVB (9494): anysee: initialize anysee_usb_mutex statically V4L/DVB (9492): unplug oops from dvb_frontend_init... V4L/DVB (9486): ivtv/ivtvfb: no longer experimental V4L/DVB (9485): ivtv: remove incorrect V4L1 & tvaudio dependency V4L/DVB (9482): Documentation, especially regarding audio and informational links V4L/DVB (9475): cx18: Disable write retries for registers that always change - part 1. ...
Diffstat (limited to 'drivers/media/video/cx18/cx18-driver.h')
-rw-r--r--drivers/media/video/cx18/cx18-driver.h20
1 files changed, 12 insertions, 8 deletions
diff --git a/drivers/media/video/cx18/cx18-driver.h b/drivers/media/video/cx18/cx18-driver.h
index a4b1708..bbdd5f2 100644
--- a/drivers/media/video/cx18/cx18-driver.h
+++ b/drivers/media/video/cx18/cx18-driver.h
@@ -199,12 +199,15 @@ struct cx18_options {
#define CX18_F_S_APPL_IO 8 /* this stream is used read/written by an application */
/* per-cx18, i_flags */
-#define CX18_F_I_LOADED_FW 0 /* Loaded the firmware the first time */
-#define CX18_F_I_EOS 4 /* End of encoder stream reached */
-#define CX18_F_I_RADIO_USER 5 /* The radio tuner is selected */
-#define CX18_F_I_ENC_PAUSED 13 /* the encoder is paused */
-#define CX18_F_I_INITED 21 /* set after first open */
-#define CX18_F_I_FAILED 22 /* set if first open failed */
+#define CX18_F_I_LOADED_FW 0 /* Loaded firmware 1st time */
+#define CX18_F_I_EOS 4 /* End of encoder stream */
+#define CX18_F_I_RADIO_USER 5 /* radio tuner is selected */
+#define CX18_F_I_ENC_PAUSED 13 /* the encoder is paused */
+#define CX18_F_I_HAVE_WORK 15 /* there is work to be done */
+#define CX18_F_I_WORK_HANDLER_DVB 18 /* work to be done for DVB */
+#define CX18_F_I_INITED 21 /* set after first open */
+#define CX18_F_I_FAILED 22 /* set if first open failed */
+#define CX18_F_I_WORK_INITED 23 /* worker thread initialized */
/* These are the VBI types as they appear in the embedded VBI private packets. */
#define CX18_SLICED_TYPE_TELETEXT_B (1)
@@ -402,8 +405,6 @@ struct cx18 {
spinlock_t lock; /* lock access to this struct */
int search_pack_header;
- spinlock_t dma_reg_lock; /* lock access to DMA engine registers */
-
int open_id; /* incremented each time an open occurs, used as
unique ID. Starts at 1, so 0 can be used as
uninitialized value in the stream->id. */
@@ -433,6 +434,9 @@ struct cx18 {
/* when the current DMA is finished this queue is woken up */
wait_queue_head_t dma_waitq;
+ struct workqueue_struct *work_queue;
+ struct work_struct work;
+
/* i2c */
struct i2c_adapter i2c_adap[2];
struct i2c_algo_bit_data i2c_algo[2];
OpenPOWER on IntegriCloud