V4L/DVB (9516): cx18: Move DVB buffer transfer handling from irq handler to work_queue
[safe/jmp/linux-2.6] / drivers / media / video / cx18 / cx18-driver.h
index e721c01..bbdd5f2 100644 (file)
@@ -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)
@@ -431,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];