[2/15] - tm6000 add Terratec Cinergy Hybrid XE

Message ID 4B69D8CC.2030008@arcor.de (mailing list archive)
State Rejected, archived
Headers

Commit Message

Stefan Ringel Feb. 3, 2010, 8:13 p.m. UTC
  signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>

         memset(&xc2028_cfg, 0, sizeof(xc2028_cfg));
         memset (&ctl,0,sizeof(ctl));
 
-        ctl.mts   = 1;
-        ctl.read_not_reliable = 1;
+        ctl.input1 = 1;
+        ctl.read_not_reliable = 0;
         ctl.msleep = 10;
-
+        ctl.demod = XC3028_FE_ZARLINK456;
+        ctl.vhfbw7 = 1;
+        ctl.uhfbw8 = 1;
+        ctl.switch_mode = 1;
         xc2028_cfg.tuner = TUNER_XC2028;
         xc2028_cfg.priv  = &ctl;
 
         switch(dev->model) {
         case TM6010_BOARD_HAUPPAUGE_900H:
+        case TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE:
             ctl.fname = "xc3028L-v36.fw";
             break;
         default:
  

Comments

Mauro Carvalho Chehab Feb. 3, 2010, 8:18 p.m. UTC | #1
Stefan Ringel wrote:
> signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>

Signed-off-by:

(first letter is on upper case)

The patch looks ok to my eyes.
> 
> --- a/drivers/staging/tm6000/tm6000-cards.c
> +++ b/drivers/staging/tm6000/tm6000-cards.c
> @@ -44,6 +44,10 @@
>  #define TM6000_BOARD_FREECOM_AND_SIMILAR    7
>  #define TM6000_BOARD_ADSTECH_MINI_DUAL_TV    8
>  #define TM6010_BOARD_HAUPPAUGE_900H        9
> +#define TM6010_BOARD_BEHOLD_WANDER        10
> +#define TM6010_BOARD_BEHOLD_VOYAGER        11
> +#define TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE    12
> +
>  
>  #define TM6000_MAXBOARDS        16
>  static unsigned int card[]     = {[0 ... (TM6000_MAXBOARDS - 1)] = UNSET };
> @@ -208,7 +212,21 @@ struct tm6000_board tm6000_boards[] = {
>          },
>          .gpio_addr_tun_reset = TM6000_GPIO_2,
>      },
> -
> +    [TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE] = {
> +        .name         = "Terratec Cinergy Hybrid XE",
> +        .tuner_type   = TUNER_XC2028, /* has a XC3028 */
> +        .tuner_addr   = 0xc2 >> 1,
> +        .demod_addr   = 0x1e >> 1,
> +        .type         = TM6010,
> +        .caps = {
> +            .has_tuner    = 1,
> +            .has_dvb      = 1,
> +            .has_zl10353  = 1,
> +            .has_eeprom   = 1,
> +            .has_remote   = 1,
> +        },
> +        .gpio_addr_tun_reset = TM6010_GPIO_2,
> +    }
>  };
>  
>  /* table of devices that work with this driver */
> @@ -221,12 +239,13 @@ struct usb_device_id tm6000_id_table [] = {
>      { USB_DEVICE(0x2040, 0x6600), .driver_info =
> TM6010_BOARD_HAUPPAUGE_900H },
>      { USB_DEVICE(0x6000, 0xdec0), .driver_info =
> TM6010_BOARD_BEHOLD_WANDER },
>      { USB_DEVICE(0x6000, 0xdec1), .driver_info =
> TM6010_BOARD_BEHOLD_VOYAGER },
> +    { USB_DEVICE(0x0ccd, 0x0086), .driver_info =
> TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE },
>      { },
>  };
>  
> @@ -302,15 +344,19 @@ static void tm6000_config_tuner (struct
> tm6000_core *dev)
>          memset(&xc2028_cfg, 0, sizeof(xc2028_cfg));
>          memset (&ctl,0,sizeof(ctl));
>  
> -        ctl.mts   = 1;
> -        ctl.read_not_reliable = 1;
> +        ctl.input1 = 1;
> +        ctl.read_not_reliable = 0;
>          ctl.msleep = 10;
> -
> +        ctl.demod = XC3028_FE_ZARLINK456;
> +        ctl.vhfbw7 = 1;
> +        ctl.uhfbw8 = 1;
> +        ctl.switch_mode = 1;
>          xc2028_cfg.tuner = TUNER_XC2028;
>          xc2028_cfg.priv  = &ctl;
>  
>          switch(dev->model) {
>          case TM6010_BOARD_HAUPPAUGE_900H:
> +        case TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE:
>              ctl.fname = "xc3028L-v36.fw";
>              break;
>          default:
>
  

Patch

--- a/drivers/staging/tm6000/tm6000-cards.c
+++ b/drivers/staging/tm6000/tm6000-cards.c
@@ -44,6 +44,10 @@ 
 #define TM6000_BOARD_FREECOM_AND_SIMILAR    7
 #define TM6000_BOARD_ADSTECH_MINI_DUAL_TV    8
 #define TM6010_BOARD_HAUPPAUGE_900H        9
+#define TM6010_BOARD_BEHOLD_WANDER        10
+#define TM6010_BOARD_BEHOLD_VOYAGER        11
+#define TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE    12
+
 
 #define TM6000_MAXBOARDS        16
 static unsigned int card[]     = {[0 ... (TM6000_MAXBOARDS - 1)] = UNSET };
@@ -208,7 +212,21 @@  struct tm6000_board tm6000_boards[] = {
         },
         .gpio_addr_tun_reset = TM6000_GPIO_2,
     },
-
+    [TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE] = {
+        .name         = "Terratec Cinergy Hybrid XE",
+        .tuner_type   = TUNER_XC2028, /* has a XC3028 */
+        .tuner_addr   = 0xc2 >> 1,
+        .demod_addr   = 0x1e >> 1,
+        .type         = TM6010,
+        .caps = {
+            .has_tuner    = 1,
+            .has_dvb      = 1,
+            .has_zl10353  = 1,
+            .has_eeprom   = 1,
+            .has_remote   = 1,
+        },
+        .gpio_addr_tun_reset = TM6010_GPIO_2,
+    }
 };
 
 /* table of devices that work with this driver */
@@ -221,12 +239,13 @@  struct usb_device_id tm6000_id_table [] = {
     { USB_DEVICE(0x2040, 0x6600), .driver_info =
TM6010_BOARD_HAUPPAUGE_900H },
     { USB_DEVICE(0x6000, 0xdec0), .driver_info =
TM6010_BOARD_BEHOLD_WANDER },
     { USB_DEVICE(0x6000, 0xdec1), .driver_info =
TM6010_BOARD_BEHOLD_VOYAGER },
+    { USB_DEVICE(0x0ccd, 0x0086), .driver_info =
TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE },
     { },
 };
 
@@ -302,15 +344,19 @@  static void tm6000_config_tuner (struct
tm6000_core *dev)