summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManu Abraham <abraham.manu@gmail.com>2006-06-21 10:28:16 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-06-25 02:05:18 -0300
commit5aef20aeff7e9b0741ecc80365a3f7416900e494 (patch)
tree01dfc6c53845b70202da375510716a7703ca3a63
parent3da2f4c0c64f4267594016c7bda3cc13fe7c95fb (diff)
downloadlinux-3.10-5aef20aeff7e9b0741ecc80365a3f7416900e494.tar.gz
linux-3.10-5aef20aeff7e9b0741ecc80365a3f7416900e494.tar.bz2
linux-3.10-5aef20aeff7e9b0741ecc80365a3f7416900e494.zip
V4L/DVB (4171): Fix Daughterboard detection
Signed-off-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r--drivers/media/dvb/bt8xx/dst.c33
-rw-r--r--drivers/media/dvb/bt8xx/dst_common.h1
2 files changed, 6 insertions, 28 deletions
diff --git a/drivers/media/dvb/bt8xx/dst.c b/drivers/media/dvb/bt8xx/dst.c
index 97d6c632542..35d25c04e5c 100644
--- a/drivers/media/dvb/bt8xx/dst.c
+++ b/drivers/media/dvb/bt8xx/dst.c
@@ -965,13 +965,11 @@ static int dst_get_tuner_info(struct dst_state *state)
get_tuner_2[7] = dst_check_sum(get_tuner_2, 7);
dprintk(verbose, DST_ERROR, 1, "DST TYpe = MULTI FE");
if (state->type_flags & DST_TYPE_HAS_MULTI_FE) {
-// if (dst_command(state, get_tuner_2, 8) < 0) {
if (dst_command(state, get_tuner_1, 8) < 0) {
dprintk(verbose, DST_INFO, 1, "Cmd=[0x13], Unsupported");
return -1;
}
} else {
-// if (dst_command(state, get_tuner_1, 8) < 0) {
if (dst_command(state, get_tuner_2, 8) < 0) {
dprintk(verbose, DST_INFO, 1, "Cmd=[0xb], Unsupported");
return -1;
@@ -981,39 +979,18 @@ static int dst_get_tuner_info(struct dst_state *state)
memcpy(&state->board_info, &state->rxbuffer, 8);
if (state->type_flags & DST_TYPE_HAS_MULTI_FE) {
dprintk(verbose, DST_ERROR, 1, "DST type has TS=188");
-/*
- if (state->board_info[1] == 0x0b) {
- if (state->type_flags & DST_TYPE_HAS_TS204)
- state->type_flags &= ~DST_TYPE_HAS_TS204;
- state->type_flags |= DST_TYPE_HAS_NEWTUNE;
- dprintk(verbose, DST_INFO, 1, "DST type has TS=188");
- } else {
- if (state->type_flags & DST_TYPE_HAS_NEWTUNE)
- state->type_flags &= ~DST_TYPE_HAS_NEWTUNE;
- state->type_flags |= DST_TYPE_HAS_TS204;
- dprintk(verbose, DST_INFO, 1, "DST type has TS=204");
- }
- } else {
-*/
}
if (state->board_info[0] == 0xbc) {
-// if (state->type_flags & DST_TYPE_HAS_TS204)
-// state->type_flags &= ~DST_TYPE_HAS_TS204;
-// state->type_flags |= DST_TYPE_HAS_NEWTUNE;
- if (state->type_flags != DST_TYPE_IS_ATSC))
+ if (state->type_flags != DST_TYPE_IS_ATSC)
state->type_flags |= DST_TYPE_HAS_NEWTUNE;
else
state->type_flags |= DST_TYPE_HAS_NEWTUNE_2;
- dprintk(verbose, DST_INFO, 1, "DST type has TS=188, Daughterboard=[%d]", state->board_info[1]);
-
- } else if (state->board_info[0] == 0xcc) {
-// if (state->type_flags & DST_TYPE_HAS_NEWTUNE)
-// state->type_flags &= ~DST_TYPE_HAS_NEWTUNE;
- state->type_flags |= DST_TYPE_HAS_TS204;
- dprintk(verbose, DST_INFO, 1, "DST type has TS=204 Daughterboard=[%d]", state->board_info[1]);
+ if (state->board_info[1] == 0x01) {
+ state->dst_hw_cap |= DST_TYPE_HAS_DBOARD;
+ dprintk(verbose, DST_ERROR, 1, "DST has Daughterboard");
+ }
}
-// }
return 0;
}
diff --git a/drivers/media/dvb/bt8xx/dst_common.h b/drivers/media/dvb/bt8xx/dst_common.h
index d384ab443e3..abdaec848e1 100644
--- a/drivers/media/dvb/bt8xx/dst_common.h
+++ b/drivers/media/dvb/bt8xx/dst_common.h
@@ -53,6 +53,7 @@
#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 */