diff options
author | Manu Abraham <manu@linuxtv.org> | 2006-06-21 17:28:01 +0400 |
---|---|---|
committer | Manu Abraham <manu@linuxtv.org> | 2006-06-21 17:28:01 +0400 |
commit | b6a33f06860320493a00551c73de0a5be0e486c7 (patch) | |
tree | 6c38efab0d566a98c27f49404eb721dcd79216da /linux/drivers | |
parent | 1c40df9379491ac9c7bd9adefc231f71eb869af9 (diff) | |
download | mediapointer-dvb-s2-b6a33f06860320493a00551c73de0a5be0e486c7.tar.gz mediapointer-dvb-s2-b6a33f06860320493a00551c73de0a5be0e486c7.tar.bz2 |
Add Board Names
From: Manu Abraham <abraham.manu@gmail.com>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Diffstat (limited to 'linux/drivers')
-rw-r--r-- | linux/drivers/media/dvb/bt8xx/dst.c | 30 | ||||
-rw-r--r-- | linux/drivers/media/dvb/bt8xx/dst_common.h | 7 |
2 files changed, 32 insertions, 5 deletions
diff --git a/linux/drivers/media/dvb/bt8xx/dst.c b/linux/drivers/media/dvb/bt8xx/dst.c index 68db48bf8..21f327d9f 100644 --- a/linux/drivers/media/dvb/bt8xx/dst.c +++ b/linux/drivers/media/dvb/bt8xx/dst.c @@ -589,18 +589,27 @@ static int dst_type_print(u8 type) struct tuner_types tuner_list[] = { { .tuner_type = 2, - .tuner_name = "L 64724" + .tuner_name = "L 64724", + .board_name = " " }, { .tuner_type = 4, - .tuner_name = "STV 0299" + .tuner_name = "STV 0299", + .board_name = "VP1030" }, { .tuner_type = 8, - .tuner_name = "MB 86A15" + .tuner_name = "MB 86A15", + .board_name = "VP1025" }, + + { + .tuner_type = 16, + .tuner_name = "NXT 200x", + .board_name = "VP3250" + } }; /* @@ -818,6 +827,9 @@ static int dst_fw_ver(struct dst_state *state) static int dst_card_type(struct dst_state *state) { + int j; + struct tuner_types *p_tuner_list = NULL; + u8 get_type[] = { 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; get_type[7] = dst_check_sum(get_type, 7); if (dst_command(state, get_type, 8) < 0) { @@ -828,6 +840,14 @@ static int dst_card_type(struct dst_state *state) memcpy(&state->card_info, &state->rxbuffer, 7); dprintk(verbose, DST_ERROR, 1, "Device Model=[%s]", &state->card_info[0]); + for (j = 0, p_tuner_list = tuner_list; j < ARRAY_SIZE(tuner_list); j++, p_tuner_list++) { + if (!strcmp(&state->card_info[0], p_tuner_list->board_name)) { + state->tuner_type = p_tuner_list->tuner_type; + dprintk(verbose, DST_ERROR, 1, "DST has [%s] tuner, tuner type=[%d]\n", + p_tuner_list->tuner_name, p_tuner_list->tuner_type); + } + } + return 0; } @@ -954,8 +974,8 @@ static int dst_get_device_id(struct dst_state *state) for (j = 0, p_tuner_list = tuner_list; j < ARRAY_SIZE(tuner_list); j++, p_tuner_list++) { if (p_dst_type->tuner_type == p_tuner_list->tuner_type) { - state->tuner_name = p_tuner_list->tuner_name; - dprintk(verbose, DST_ERROR, 1, "DST has a [%s] based tuner\n", state->tuner_name); + state->tuner_type = p_tuner_list->tuner_type; + dprintk(verbose, DST_ERROR, 1, "DST has a [%s] based tuner\n", p_tuner_list->tuner_name); } } } diff --git a/linux/drivers/media/dvb/bt8xx/dst_common.h b/linux/drivers/media/dvb/bt8xx/dst_common.h index 1a4c02080..e53a68a8b 100644 --- a/linux/drivers/media/dvb/bt8xx/dst_common.h +++ b/linux/drivers/media/dvb/bt8xx/dst_common.h @@ -68,10 +68,16 @@ #define DST_TYPE_HAS_SESSION 128 #define TUNER_TYPE_MULTI 1 + +/* DVB-S */ #define TUNER_TYPE_L64724 2 #define TUNER_TYPE_STV0299 4 #define TUNER_TYPE_MB86A15 8 +/* ATSC */ +#define TUNER_TYPE_NXT200x 16 + + #define RDC_8820_PIO_0_DISABLE 0 #define RDC_8820_PIO_0_ENABLE 1 #define RDC_8820_INT 2 @@ -139,6 +145,7 @@ struct dst_state { struct tuner_types { u32 tuner_type; char *tuner_name; + char *board_name; }; struct dst_types { |