]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/media/dvb/bt8xx/dst_common.h
Merge branch 'for-linus' of git://neil.brown.name/md
[linux-2.6-omap-h63xx.git] / drivers / media / dvb / bt8xx / dst_common.h
index 3281a6ca3685d46ea19ec12d9e88133ca228c6f8..d88cf2add82b6b20010b6b1c92c7f8d6d139b784 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <linux/dvb/frontend.h>
 #include <linux/device.h>
+#include <linux/mutex.h>
 #include "bt878.h"
 
 #include "dst_ca.h"
@@ -40,7 +41,7 @@
 #define DST_TYPE_IS_CABLE      2
 #define DST_TYPE_IS_ATSC       3
 
-#define DST_TYPE_HAS_NEWTUNE   1
+#define DST_TYPE_HAS_TS188     1
 #define DST_TYPE_HAS_TS204     2
 #define DST_TYPE_HAS_SYMDIV    4
 #define DST_TYPE_HAS_FW_1      8
 #define DST_TYPE_HAS_FW_BUILD  64
 #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
+#define DST_TYPE_HAS_VLF       4096
 
 /*     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
@@ -81,8 +100,6 @@ struct dst_state {
 
        struct bt878* bt;
 
-       struct dvb_frontend_ops ops;
-
        /* configuration settings */
        const struct dst_config* config;
 
@@ -117,6 +134,19 @@ struct dst_state {
        u8 fw_version[8];
        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 dvb_device *dst_ca;
+};
+
+struct tuner_types {
+       u32 tuner_type;
+       char *tuner_name;
+       char *board_name;
+       char *fw_name;
 };
 
 struct dst_types {
@@ -125,6 +155,7 @@ struct dst_types {
        u8 dst_type;
        u32 type_flags;
        u32 dst_feature;
+       u32 tuner_type;
 };
 
 struct dst_config
@@ -134,10 +165,8 @@ struct dst_config
 };
 
 int rdc_reset_state(struct dst_state *state);
-int rdc_8820_reset(struct dst_state *state);
 
 int dst_wait_dst_ready(struct dst_state *state, u8 delay_mode);
-int dst_pio_enable(struct dst_state *state);
 int dst_pio_disable(struct dst_state *state);
 int dst_error_recovery(struct dst_state* state);
 int dst_error_bailout(struct dst_state *state);
@@ -147,10 +176,7 @@ int write_dst(struct dst_state *state, u8 * data, u8 len);
 int read_dst(struct dst_state *state, u8 * ret, u8 len);
 u8 dst_check_sum(u8 * buf, u32 len);
 struct dst_state* dst_attach(struct dst_state* state, struct dvb_adapter *dvb_adapter);
-int dst_ca_attach(struct dst_state *state, struct dvb_adapter *dvb_adapter);
-int dst_gpio_outb(struct dst_state* state, u32 mask, u32 enbb, u32 outhigh, int delay);
-
-int dst_command(struct dst_state* state, u8 * data, u8 len);
+struct dvb_device *dst_ca_attach(struct dst_state *state, struct dvb_adapter *dvb_adapter);
 
 
 #endif // DST_COMMON_H