V4L/DVB: em28xx: Support for Kworld VS-DVB-T 323UR
authorAntonio Larrosa <larrosa@kde.org>
Fri, 5 Mar 2010 01:19:48 +0000 (22:19 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 18 May 2010 03:46:34 +0000 (00:46 -0300)
This patch adapts the changes submitted by Dainius Ridzevicius to the
linux-media mailing list on 8/14/09, to the current sources in order
to make the Kworld VS-DVB-T 323UR usb device work.

I also removed the "not validated" flag since I own the device and validated
that it works fine after the patch is applied.

Thanks to Devin Heitmueller for his guidance with the code.

Signed-off-by: Antonio Larrosa <larrosa@kde.org>
Acked-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/em28xx/em28xx-cards.c
drivers/media/video/em28xx/em28xx-dvb.c

index b0fb083..5ed834e 100644 (file)
@@ -1404,10 +1404,14 @@ struct em28xx_board em28xx_boards[] = {
        },
        [EM2882_BOARD_KWORLD_VS_DVBT] = {
                .name         = "Kworld VS-DVB-T 323UR",
-               .valid        = EM28XX_BOARD_NOT_VALIDATED,
                .tuner_type   = TUNER_XC2028,
                .tuner_gpio   = default_tuner_gpio,
                .decoder      = EM28XX_TVP5150,
+               .mts_firmware = 1,
+               .has_dvb      = 1,
+               .dvb_gpio     = kworld_330u_digital,
+               .xclk         = EM28XX_XCLK_FREQUENCY_12MHZ, /* NEC IR */
+               .ir_codes     = &ir_codes_kworld_315u_table,
                .input        = { {
                        .type     = EM28XX_VMUX_TELEVISION,
                        .vmux     = TVP5150_COMPOSITE0,
@@ -2138,6 +2142,7 @@ static void em28xx_setup_xc3028(struct em28xx *dev, struct xc2028_ctrl *ctl)
                break;
        case EM2883_BOARD_KWORLD_HYBRID_330U:
        case EM2882_BOARD_DIKOM_DK300:
+       case EM2882_BOARD_KWORLD_VS_DVBT:
                ctl->demod = XC3028_FE_CHINA;
                ctl->fname = XC2028_DEFAULT_FIRMWARE;
                break;
index bcd3c37..e7b3d53 100644 (file)
@@ -506,6 +506,7 @@ static int dvb_init(struct em28xx *dev)
        case EM2880_BOARD_TERRATEC_HYBRID_XS_FR:
        case EM2881_BOARD_PINNACLE_HYBRID_PRO:
        case EM2882_BOARD_DIKOM_DK300:
+       case EM2882_BOARD_KWORLD_VS_DVBT:
                dvb->frontend = dvb_attach(zl10353_attach,
                                           &em28xx_zl10353_xc3028_no_i2c_gate,
                                           &dev->i2c_adap);