Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
[pandora-kernel.git] / drivers / media / video / saa7134 / saa7134-dvb.c
index 31e82be..beb95e2 100644 (file)
@@ -481,6 +481,17 @@ static struct tda1004x_config medion_cardbus = {
        .request_firmware = philips_tda1004x_request_firmware
 };
 
+static struct tda1004x_config technotrend_budget_t3000_config = {
+       .demod_address = 0x8,
+       .invert        = 1,
+       .invert_oclk   = 0,
+       .xtal_freq     = TDA10046_XTAL_4M,
+       .agc_config    = TDA10046_AGC_DEFAULT,
+       .if_freq       = TDA10046_FREQ_3617,
+       .tuner_address = 0x63,
+       .request_firmware = philips_tda1004x_request_firmware
+};
+
 /* ------------------------------------------------------------------
  * tda 1004x based cards with philips silicon tuner
  */
@@ -1100,7 +1111,7 @@ static int dvb_init(struct saa7134_dev *dev)
                            V4L2_BUF_TYPE_VIDEO_CAPTURE,
                            V4L2_FIELD_ALTERNATE,
                            sizeof(struct saa7134_buf),
-                           dev);
+                           dev, NULL);
 
        switch (dev->board) {
        case SAA7134_BOARD_PINNACLE_300I_DVBT_PAL:
@@ -1168,6 +1179,18 @@ static int dvb_init(struct saa7134_dev *dev)
                        fe0->dvb.frontend->ops.tuner_ops.set_params = philips_td1316_tuner_set_params;
                }
                break;
+       case SAA7134_BOARD_TECHNOTREND_BUDGET_T3000:
+               fe0->dvb.frontend = dvb_attach(tda10046_attach,
+                                              &technotrend_budget_t3000_config,
+                                              &dev->i2c_adap);
+               if (fe0->dvb.frontend) {
+                       dev->original_demod_sleep = fe0->dvb.frontend->ops.sleep;
+                       fe0->dvb.frontend->ops.sleep = philips_europa_demod_sleep;
+                       fe0->dvb.frontend->ops.tuner_ops.init = philips_europa_tuner_init;
+                       fe0->dvb.frontend->ops.tuner_ops.sleep = philips_europa_tuner_sleep;
+                       fe0->dvb.frontend->ops.tuner_ops.set_params = philips_td1316_tuner_set_params;
+               }
+               break;
        case SAA7134_BOARD_VIDEOMATE_DVBT_200:
                fe0->dvb.frontend = dvb_attach(tda10046_attach,
                                               &philips_tu1216_61_config,