From 57f51dbc45f65f7ee1e8c8f77200bb8000e3e271 Mon Sep 17 00:00:00 2001 From: Oleg Roitburd <oroitburd@gmail.com> Date: Wed, 8 Oct 2008 06:48:08 -0300 Subject: [PATCH] V4L/DVB (9186): Added support for Prof 7300 DVB-S/S2 cards Added support for Prof 7300 DVB-S/S2 card. The card based on cx24116 demodulator. Signed-off-by: Oleg Roitburd <oroitburd@gmail.com> Signed-off-by: Steven Toth <stoth@linuxtv.org> [mchehab@redhat.com: fixed CARDLIST.cx88 entry] Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> --- Documentation/video4linux/CARDLIST.cx88 | 1 + drivers/media/video/cx88/cx88-cards.c | 27 ++++++++++++++++--------- drivers/media/video/cx88/cx88-dvb.c | 9 +-------- drivers/media/video/cx88/cx88.h | 1 + 4 files changed, 20 insertions(+), 18 deletions(-) diff --git a/Documentation/video4linux/CARDLIST.cx88 b/Documentation/video4linux/CARDLIST.cx88 index 50d0b1c559a9..a5227e308f4a 100644 --- a/Documentation/video4linux/CARDLIST.cx88 +++ b/Documentation/video4linux/CARDLIST.cx88 @@ -73,3 +73,4 @@ 72 -> TBS 8920 DVB-S/S2 [8920:8888] 73 -> TeVii S420 DVB-S [d420:9022] 74 -> Prolink Pixelview Global Extreme [1554:4976] + 75 -> PROF 7300 DVB-S/S2 [B033:3033] diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c index a9e52decb6f9..5da04e811ca2 100644 --- a/drivers/media/video/cx88/cx88-cards.c +++ b/drivers/media/video/cx88/cx88-cards.c @@ -1822,6 +1822,18 @@ static const struct cx88_board cx88_boards[] = { } }, .mpeg = CX88_MPEG_DVB, }, + [CX88_BOARD_PROF_7300] = { + .name = "PROF 7300 DVB-S/S2", + .tuner_type = UNSET, + .radio_type = UNSET, + .tuner_addr = ADDR_UNSET, + .radio_addr = ADDR_UNSET, + .input = {{ + .type = CX88_VMUX_DVB, + .vmux = 0, + } }, + .mpeg = CX88_MPEG_DVB, + }, }; /* ------------------------------------------------------------------ */ @@ -2211,6 +2223,10 @@ static const struct cx88_subid cx88_subids[] = { .subvendor = 0x8920, .subdevice = 0x8888, .card = CX88_BOARD_TBS_8920, + }, { + .subvendor = 0xB033, + .subdevice = 0x3033, + .card = CX88_BOARD_PROF_7300, }, }; @@ -2817,18 +2833,9 @@ static void cx88_card_setup(struct cx88_core *core) } case CX88_BOARD_TEVII_S420: case CX88_BOARD_TEVII_S460: - cx_write(MO_SRST_IO, 0); - msleep(100); - cx_write(MO_SRST_IO, 1); - msleep(100); - break; case CX88_BOARD_OMICOM_SS4_PCI: - cx_write(MO_SRST_IO, 0); - msleep(100); - cx_write(MO_SRST_IO, 1); - msleep(100); - break; case CX88_BOARD_TBS_8920: + case CX88_BOARD_PROF_7300: cx_write(MO_SRST_IO, 0); msleep(100); cx_write(MO_SRST_IO, 1); diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c index cccf38222a31..344ed2626e59 100644 --- a/drivers/media/video/cx88/cx88-dvb.c +++ b/drivers/media/video/cx88/cx88-dvb.c @@ -978,15 +978,8 @@ static int dvb_register(struct cx8802_dev *dev) } break; case CX88_BOARD_OMICOM_SS4_PCI: - dev->dvb.frontend = dvb_attach(cx24116_attach, - &hauppauge_hvr4000_config, - &core->i2c_adap); - if (dev->dvb.frontend != NULL) { - core->prev_set_voltage = dev->dvb.frontend->ops.set_voltage; - dev->dvb.frontend->ops.set_voltage = tevii_dvbs_set_voltage; - } - break; case CX88_BOARD_TBS_8920: + case CX88_BOARD_PROF_7300: dev->dvb.frontend = dvb_attach(cx24116_attach, &hauppauge_hvr4000_config, &core->i2c_adap); diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h index dce7d36edb42..dbf01b8b57a5 100644 --- a/drivers/media/video/cx88/cx88.h +++ b/drivers/media/video/cx88/cx88.h @@ -228,6 +228,7 @@ extern struct sram_channel cx88_sram_channels[]; #define CX88_BOARD_TBS_8920 72 #define CX88_BOARD_TEVII_S420 73 #define CX88_BOARD_PROLINK_PV_GLOBAL_XTREME 74 +#define CX88_BOARD_PROF_7300 75 enum cx88_itype { CX88_VMUX_COMPOSITE1 = 1,