Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=122d15888a8aa95fb6ca32eb1307c3e3337f1a38
Commit:     122d15888a8aa95fb6ca32eb1307c3e3337f1a38
Parent:     11645cc370c1af0f6bc9ef7440d452def9580790
Author:     Aidan Thornton <[EMAIL PROTECTED]>
AuthorDate: Tue Nov 20 15:25:08 2007 -0300
Committer:  Mauro Carvalho Chehab <[EMAIL PROTECTED]>
CommitDate: Fri Jan 25 19:02:16 2008 -0200

    V4L/DVB (6619): Use MTS firmware for the HVR-900
    
    The HVR-900 requires the MTS version of the xc3028 firmware in order
    to get any sound. The below patch selects this firmware variant on
    HVR-900 cards, as well as splitting the HVR-950 into its own entry
    (since I don't know if it uses the MTS variant and it will have to be
    split off eventually anyway).
    
    Signed-off-by: Aidan Thornton <[EMAIL PROTECTED]>
    Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
 Documentation/video4linux/CARDLIST.em28xx |    3 ++-
 drivers/media/video/em28xx/em28xx-cards.c |   29 +++++++++++++++++++++++++++--
 drivers/media/video/em28xx/em28xx.h       |    2 ++
 3 files changed, 31 insertions(+), 3 deletions(-)

diff --git a/Documentation/video4linux/CARDLIST.em28xx 
b/Documentation/video4linux/CARDLIST.em28xx
index f809834..94b53bd 100644
--- a/Documentation/video4linux/CARDLIST.em28xx
+++ b/Documentation/video4linux/CARDLIST.em28xx
@@ -8,9 +8,10 @@
   7 -> Leadtek Winfast USB II                   (em2800)
   8 -> Kworld USB2800                           (em2800)
   9 -> Pinnacle Dazzle DVC 90                   (em2820/em2840) [2304:0207]
- 10 -> Hauppauge WinTV HVR 900/950              (em2880)
+ 10 -> Hauppauge WinTV HVR 900                  (em2880)
  11 -> Terratec Hybrid XS                       (em2880)
  12 -> Kworld PVR TV 2800 RF                    (em2820/em2840)
  13 -> Terratec Prodigy XS                      (em2880)
  14 -> Pixelview Prolink PlayTV USB 2.0         (em2820/em2840)
  15 -> V-Gear PocketTV                          (em2800)
+ 16 -> Hauppauge WinTV HVR 950                  (em2880)
diff --git a/drivers/media/video/em28xx/em28xx-cards.c 
b/drivers/media/video/em28xx/em28xx-cards.c
index fd64058..c40b9d9 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -149,7 +149,29 @@ struct em28xx_board em28xx_boards[] = {
                }},
        },
        [EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900] = {
-               .name         = "Hauppauge WinTV HVR 900/950",
+               .name         = "Hauppauge WinTV HVR 900",
+               .vchannels    = 3,
+               .tda9887_conf = TDA9887_PRESENT,
+               .tuner_type   = TUNER_XC2028,
+               .has_tuner    = 1,
+               .xc2028_type  = XC2028_FIRM_MTS,
+               .decoder      = EM28XX_TVP5150,
+               .input          = {{
+                       .type     = EM28XX_VMUX_TELEVISION,
+                       .vmux     = TVP5150_COMPOSITE0,
+                       .amux     = 0,
+               },{
+                       .type     = EM28XX_VMUX_COMPOSITE1,
+                       .vmux     = TVP5150_COMPOSITE1,
+                       .amux     = 1,
+               },{
+                       .type     = EM28XX_VMUX_SVIDEO,
+                       .vmux     = TVP5150_SVIDEO,
+                       .amux     = 1,
+               }},
+       },
+       [EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950] = {
+               .name         = "Hauppauge WinTV HVR 950",
                .vchannels    = 3,
                .tda9887_conf = TDA9887_PRESENT,
                .tuner_type   = TUNER_XC2028,
@@ -376,7 +398,7 @@ struct usb_device_id em28xx_id_table [] = {
        { USB_DEVICE(0x2040, 0x4200), .driver_info = 
EM2820_BOARD_HAUPPAUGE_WINTV_USB_2 },
        { USB_DEVICE(0x2304, 0x0207), .driver_info = 
EM2820_BOARD_PINNACLE_DVC_90 },
        { USB_DEVICE(0x2040, 0x6500), .driver_info = 
EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900 },
-       { USB_DEVICE(0x2040, 0x6513), .driver_info = 
EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900 },
+       { USB_DEVICE(0x2040, 0x6513), .driver_info = 
EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950 },
        { USB_DEVICE(0x0ccd, 0x0042), .driver_info = 
EM2880_BOARD_TERRATEC_HYBRID_XS },
        { USB_DEVICE(0x0ccd, 0x0047), .driver_info = 
EM2880_BOARD_TERRATEC_PRODIGY_XS },
        { },
@@ -404,6 +426,7 @@ void em28xx_pre_card_setup(struct em28xx *dev)
        switch(dev->model){
        case EM2880_BOARD_TERRATEC_PRODIGY_XS:
        case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900:
+       case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950:
        case EM2880_BOARD_TERRATEC_HYBRID_XS:
                /* reset through GPIO? */
                em28xx_write_regs_req(dev, 0x00, 0x08, "\x7d", 1);
@@ -453,6 +476,7 @@ static void em28xx_config_tuner (struct em28xx *dev)
 
                ctl.fname   = XC2028_DEFAULT_FIRMWARE;
                ctl.max_len = 64;
+               ctl.type = em28xx_boards[dev->model].xc2028_type;
 
                xc2028_cfg.tuner = TUNER_XC2028;
                xc2028_cfg.priv  = &ctl;
@@ -574,6 +598,7 @@ void em28xx_card_setup(struct em28xx *dev)
        switch (dev->model) {
        case EM2820_BOARD_HAUPPAUGE_WINTV_USB_2:
        case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900:
+       case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950:
        {
                struct tveeprom tv;
 #ifdef CONFIG_MODULES
diff --git a/drivers/media/video/em28xx/em28xx.h 
b/drivers/media/video/em28xx/em28xx.h
index 8d04586..db82b51 100644
--- a/drivers/media/video/em28xx/em28xx.h
+++ b/drivers/media/video/em28xx/em28xx.h
@@ -48,6 +48,7 @@
 #define EM2880_BOARD_TERRATEC_PRODIGY_XS       13
 #define EM2820_BOARD_PROLINK_PLAYTV_USB2       14
 #define EM2800_BOARD_VGEAR_POCKETTV             15
+#define EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950   16
 
 #define UNSET -1
 
@@ -177,6 +178,7 @@ struct em28xx_board {
        unsigned int has_msp34xx:1;
 
        enum em28xx_decoder decoder;
+       int xc2028_type;
 
        struct em28xx_input       input[MAX_EM28XX_INPUT];
 };
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to