]> err.no Git - linux-2.6/blobdiff - drivers/media/dvb/bt8xx/dst_common.h
V4L/DVB (4177): DCTNEW and ATSC fixes
[linux-2.6] / drivers / media / dvb / bt8xx / dst_common.h
index 81557f38fe3826aa0cfdc44ba0ac96f19de2eac6..cb5a6ebffe02b0427adc7b076812e7aecababe68 100644 (file)
@@ -25,6 +25,7 @@
 #include <linux/smp_lock.h>
 #include <linux/dvb/frontend.h>
 #include <linux/device.h>
+#include <linux/mutex.h>
 #include "bt878.h"
 
 #include "dst_ca.h"
@@ -51,6 +52,8 @@
 #define DST_TYPE_HAS_OBS_REGS  128
 #define DST_TYPE_HAS_INC_COUNT 256
 #define DST_TYPE_HAS_MULTI_FE  512
+#define DST_TYPE_HAS_NEWTUNE_2 1024
+#define DST_TYPE_HAS_DBOARD    2048
 
 /*     Card capability list    */
 
 #define        DST_TYPE_HAS_ANALOG     64      /*      Analog inputs   */
 #define DST_TYPE_HAS_SESSION   128
 
+#define TUNER_TYPE_MULTI       1
+#define TUNER_TYPE_UNKNOWN     2
+/*     DVB-S           */
+#define TUNER_TYPE_L64724      4
+#define TUNER_TYPE_STV0299     8
+#define TUNER_TYPE_MB86A15     16
+
+/*     DVB-T           */
+#define TUNER_TYPE_TDA10046    32
+
+/*     ATSC            */
+#define TUNER_TYPE_NXT200x     64
+
+
 #define RDC_8820_PIO_0_DISABLE 0
 #define RDC_8820_PIO_0_ENABLE  1
 #define RDC_8820_INT           2
@@ -83,8 +100,6 @@ struct dst_state {
 
        struct bt878* bt;
 
-       struct dvb_frontend_ops ops;
-
        /* configuration settings */
        const struct dst_config* config;
 
@@ -120,8 +135,17 @@ struct dst_state {
        u8 card_info[8];
        u8 vendor[8];
        u8 board_info[8];
+       u32 tuner_type;
+       char *tuner_name;
+       struct mutex dst_mutex;
+       u8 fw_name[8];
+};
 
-       struct semaphore dst_mutex;
+struct tuner_types {
+       u32 tuner_type;
+       char *tuner_name;
+       char *board_name;
+       char *fw_name;
 };
 
 struct dst_types {
@@ -130,6 +154,7 @@ struct dst_types {
        u8 dst_type;
        u32 type_flags;
        u32 dst_feature;
+       u32 tuner_type;
 };
 
 struct dst_config