V4L/DVB: Cleanups for mt2060-integration
authorPatrick Boettcher <pb@linuxtv.org>
Tue, 8 Aug 2006 18:48:09 +0000 (15:48 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Tue, 26 Sep 2006 14:53:41 +0000 (11:53 -0300)
- some coding style fixes for newly added mt2060
- moved agc-config from fixed values in dib3000mc to configurable ones
- whitespace clean-ups for usb-id-file

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/dvb/dvb-usb/dibusb-common.c
drivers/media/dvb/dvb-usb/dibusb-mc.c
drivers/media/dvb/dvb-usb/dibusb.h
drivers/media/dvb/dvb-usb/dvb-usb-ids.h
drivers/media/dvb/frontends/dib3000.h
drivers/media/dvb/frontends/dib3000mc.c
drivers/media/dvb/frontends/dib3000mc_priv.h

index 4d3d0d3dab950641c4837bf6cf48f70b5c8b7fb1..e079ba95d3841f30fd92a11da4e5d295a99ce623 100644 (file)
@@ -168,63 +168,61 @@ int dibusb_read_eeprom_byte(struct dvb_usb_device *d, u8 offs, u8 *val)
 }
 EXPORT_SYMBOL(dibusb_read_eeprom_byte);
 
-static struct mt2060_config default_mt2060_config = {
+static struct mt2060_config stk3000p_mt2060_config = {
        .i2c_address = 0x60,
 };
 
 static int dibusb_tuner_init(struct dvb_frontend *fe)
 {
-       int ret;
        struct dvb_usb_device *d = fe->dvb->priv;
        struct dibusb_state *st = d->priv;
 
-       if (d->tuner_pass_ctrl) {
-               if ((int)d->fe->misc_priv==DIBUSB_TUNER_MT2060) { // Microtune MT2060
-                       d->tuner_pass_ctrl(d->fe,1,default_mt2060_config.i2c_address);
-                       ret=mt2060_init(&st->mt2060);
-               }
-               else { // Panasonic whatever
-                       d->tuner_pass_ctrl(d->fe,1,d->pll_addr);
-                       ret=dvb_usb_pll_init_i2c(fe);
-               }
-               d->tuner_pass_ctrl(d->fe,0,0);
+       if (d->tuner_pass_ctrl && st->mt2060_present) {
+               int ret;
+               d->tuner_pass_ctrl(d->fe, 1, stk3000p_mt2060_config.i2c_address);
+               ret = mt2060_init(&st->mt2060);
+               d->tuner_pass_ctrl(d->fe, 0, 0);
                return ret;
        }
-       return -ENODEV;
+       return dvb_usb_pll_init_i2c(fe);
 }
 
 static int dibusb_tuner_set(struct dvb_frontend *fe, struct dvb_frontend_parameters *fep)
 {
-       int ret;
        struct dvb_usb_device *d = fe->dvb->priv;
        struct dibusb_state *st = d->priv;
 
-       if (d->tuner_pass_ctrl) {
-               if ((int)d->fe->misc_priv==DIBUSB_TUNER_MT2060) {
-                       d->tuner_pass_ctrl(d->fe,1,default_mt2060_config.i2c_address);
-                       ret=mt2060_set(&st->mt2060,fep);
-               }
-               else {
-                       d->tuner_pass_ctrl(d->fe,1,d->pll_addr);
-                       ret=dvb_usb_pll_set_i2c(fe,fep);
-               }
+       if (d->tuner_pass_ctrl && st->mt2060_present) {
+               int ret;
+               d->tuner_pass_ctrl(d->fe, 1, stk3000p_mt2060_config.i2c_address);
+               ret = mt2060_set(&st->mt2060,fep);
                d->tuner_pass_ctrl(d->fe,0,0);
                return ret;
        }
-       return -ENODEV;
+       return dvb_usb_pll_set_i2c(fe,fep);
 }
 
+static const struct dib3000p_agc_config dib3000p_agc_panasonic_env57h1xd5 = {
+       { 0x51, 0x301d, 0x0, 0x1cc7, 0xdc29, 0x570a,
+       0xbae1, 0x8ccd, 0x3b6d, 0x551d, 0xa, 0x951e }
+};
+
+static const struct dib3000p_agc_config dib3000p_agc_microtune_mt2060 = {
+       { 0x196, 0x301d, 0x0, 0x1cc7, 0xffff, 0x5c29,
+       0xa8f6, 0x5eb8, 0x65ff, 0x40ff, 0x8a, 0x1114 }
+};
+
 int dibusb_dib3000mc_frontend_attach(struct dvb_usb_device *d)
 {
        struct dib3000_config demod_cfg;
        struct dibusb_state *st = d->priv;
 
-       demod_cfg.pll_set = dibusb_tuner_set;
+       demod_cfg.agc      = &dib3000p_agc_panasonic_env57h1xd5;
+       demod_cfg.pll_set  = dibusb_tuner_set;
        demod_cfg.pll_init = dibusb_tuner_init;
 
        for (demod_cfg.demod_address = 0x8; demod_cfg.demod_address < 0xd; demod_cfg.demod_address++)
                if ((d->fe = dib3000mc_attach(&demod_cfg,&d->i2c_adap,&st->ops)) != NULL) {
-                       d->fe->misc_priv=(void *)DIBUSB_TUNER_DEFAULT;
                        d->tuner_pass_ctrl = st->ops.tuner_pass_ctrl;
                        return 0;
                }
@@ -236,18 +234,23 @@ EXPORT_SYMBOL(dibusb_dib3000mc_frontend_attach);
 int dibusb_dib3000mc_tuner_attach (struct dvb_usb_device *d)
 {
        int ret;
-       d->pll_addr = 0x60;
-       d->pll_desc = &dvb_pll_env57h1xd5;
+
        if (d->tuner_pass_ctrl) {
                struct dibusb_state *st = d->priv;
-               d->tuner_pass_ctrl(d->fe,1,default_mt2060_config.i2c_address);
-               if ((ret = mt2060_attach(&st->mt2060,&default_mt2060_config, &d->i2c_adap)) == 0) {
-                       d->fe->misc_priv=(void *)DIBUSB_TUNER_MT2060;
+               d->tuner_pass_ctrl(d->fe, 1, stk3000p_mt2060_config.i2c_address);
+               /* check for mt2060 */
+               if ((ret = mt2060_attach(&st->mt2060,&stk3000p_mt2060_config, &d->i2c_adap)) != 0) {
+                       /* not found - use panasonic pll parameters */
+                       d->pll_addr = 0x60;
+                       d->pll_desc = &dvb_pll_env57h1xd5;
+               } else {
+                       st->mt2060_present = 1;
+                       /* set the correct agc parameters for the dib3000p */
+                       dib3000mc_set_agc_config(d->fe, &dib3000p_agc_microtune_mt2060);
                }
                d->tuner_pass_ctrl(d->fe,0,0);
-               return 0;
        }
-       return -ENODEV;
+       return 0;
 }
 EXPORT_SYMBOL(dibusb_dib3000mc_tuner_attach);
 
index 2ef3d739abba07dc22a54712dcc40d110533cf95..aba2de6ba56b6beb3ae4db7fbf92e22ae1d33c04 100644 (file)
@@ -33,8 +33,8 @@ static struct usb_device_id dibusb_dib3000mc_table [] = {
 /* 05 */       { USB_DEVICE(USB_VID_LITEON,            USB_PID_LITEON_DVB_T_WARM) },
 /* 06 */       { USB_DEVICE(USB_VID_EMPIA,             USB_PID_DIGIVOX_MINI_SL_COLD) },
 /* 07 */       { USB_DEVICE(USB_VID_EMPIA,             USB_PID_DIGIVOX_MINI_SL_WARM) },
-/* 08 */        { USB_DEVICE(USB_VID_GRANDTEC,          USB_PID_GRANDTEC_DVBT_USB2_COLD) },
-/* 09 */        { USB_DEVICE(USB_VID_GRANDTEC,          USB_PID_GRANDTEC_DVBT_USB2_WARM) },
+/* 08 */       { USB_DEVICE(USB_VID_GRANDTEC,          USB_PID_GRANDTEC_DVBT_USB2_COLD) },
+/* 09 */       { USB_DEVICE(USB_VID_GRANDTEC,          USB_PID_GRANDTEC_DVBT_USB2_WARM) },
                        { }             /* Terminating entry */
 };
 MODULE_DEVICE_TABLE (usb, dibusb_dib3000mc_table);
index f3e3ea8c8dbba95b47c735729c3aafc29567d104..7fd57d053b9f2ae72560d940d17ac6cda95a5dd7 100644 (file)
 #define DIBUSB_IOCTL_CMD_ENABLE_STREAM 0x01
 #define DIBUSB_IOCTL_CMD_DISABLE_STREAM        0x02
 
-/* Tuner types.
-   These constants shall correspond to the proper AGC values in the array
-   dib3000mc_agc_tuner[][12] in dib3000mc_priv.h */
-#define DIBUSB_TUNER_DEFAULT 1 // a.k.a Panasonic
-#define DIBUSB_TUNER_MT2060  4
-
-
 struct dibusb_state {
        struct dib_fe_xfer_ops ops;
        struct mt2060_state mt2060;
+       int mt2060_present;
 
        /* for RC5 remote control */
        int old_toggle;
index 6039e67425ac7d58a39e2dd9cd62c3c5f9e32451..82374abd460e6dd194ccc02289149565dd7503e5 100644 (file)
 #define _DVB_USB_IDS_H_
 
 /* Vendor IDs */
-#define USB_VID_ADSTECH                                                0x06e1
-#define USB_VID_ANCHOR                                         0x0547
-#define USB_VID_WIDEVIEW                                       0x14aa
-#define USB_VID_AVERMEDIA                                      0x07ca
-#define USB_VID_COMPRO                                         0x185b
-#define USB_VID_COMPRO_UNK                                     0x145f
-#define USB_VID_CYPRESS                                                0x04b4
-#define USB_VID_DIBCOM                                         0x10b8
-#define USB_VID_DVICO                                          0x0fe9
-#define USB_VID_EMPIA                                          0xeb1a
-#define USB_VID_GRANDTEC                                       0x5032
-#define USB_VID_HANFTEK                                                0x15f4
-#define USB_VID_HAUPPAUGE                                      0x2040
-#define USB_VID_HYPER_PALTEK                           0x1025
-#define USB_VID_KWORLD                                         0xeb2a
-#define USB_VID_KYE                                                    0x0458
-#define USB_VID_MEDION                                         0x1660
-#define USB_VID_PINNACLE                                       0x2304
-#define USB_VID_VISIONPLUS                                     0x13d3
-#define USB_VID_TWINHAN                                                0x1822
-#define USB_VID_ULTIMA_ELECTRONIC                      0x05d8
-#define USB_VID_LITEON                                 0x04ca
+#define USB_VID_ADSTECH                        0x06e1
+#define USB_VID_ANCHOR                 0x0547
+#define USB_VID_WIDEVIEW               0x14aa
+#define USB_VID_AVERMEDIA              0x07ca
+#define USB_VID_COMPRO                 0x185b
+#define USB_VID_COMPRO_UNK             0x145f
+#define USB_VID_CYPRESS                        0x04b4
+#define USB_VID_DIBCOM                 0x10b8
+#define USB_VID_DVICO                  0x0fe9
+#define USB_VID_EMPIA                  0xeb1a
+#define USB_VID_GRANDTEC               0x5032
+#define USB_VID_HANFTEK                        0x15f4
+#define USB_VID_HAUPPAUGE              0x2040
+#define USB_VID_HYPER_PALTEK           0x1025
+#define USB_VID_KWORLD                 0xeb2a
+#define USB_VID_KYE                    0x0458
+#define USB_VID_MEDION                 0x1660
+#define USB_VID_PINNACLE               0x2304
+#define USB_VID_VISIONPLUS             0x13d3
+#define USB_VID_TWINHAN                        0x1822
+#define USB_VID_ULTIMA_ELECTRONIC      0x05d8
+#define USB_VID_LITEON                 0x04ca
 
 /* Product IDs */
 #define USB_PID_ADSTECH_USB2_COLD                      0xa333
 #define USB_PID_ADSTECH_USB2_WARM                      0xa334
-#define USB_PID_AVERMEDIA_DVBT_USB_COLD                0x0001
-#define USB_PID_AVERMEDIA_DVBT_USB_WARM                0x0002
-#define USB_PID_AVERMEDIA_DVBT_USB2_COLD       0xa800
-#define USB_PID_AVERMEDIA_DVBT_USB2_WARM       0xa801
-#define USB_PID_COMPRO_DVBU2000_COLD           0xd000
-#define USB_PID_COMPRO_DVBU2000_WARM           0xd001
-#define USB_PID_COMPRO_DVBU2000_UNK_COLD       0x010c
-#define USB_PID_COMPRO_DVBU2000_UNK_WARM       0x010d
+#define USB_PID_AVERMEDIA_DVBT_USB_COLD                        0x0001
+#define USB_PID_AVERMEDIA_DVBT_USB_WARM                        0x0002
+#define USB_PID_AVERMEDIA_DVBT_USB2_COLD               0xa800
+#define USB_PID_AVERMEDIA_DVBT_USB2_WARM               0xa801
+#define USB_PID_COMPRO_DVBU2000_COLD                   0xd000
+#define USB_PID_COMPRO_DVBU2000_WARM                   0xd001
+#define USB_PID_COMPRO_DVBU2000_UNK_COLD               0x010c
+#define USB_PID_COMPRO_DVBU2000_UNK_WARM               0x010d
 #define USB_PID_DIBCOM_HOOK_DEFAULT                    0x0064
-#define USB_PID_DIBCOM_HOOK_DEFAULT_REENUM     0x0065
+#define USB_PID_DIBCOM_HOOK_DEFAULT_REENUM             0x0065
 #define USB_PID_DIBCOM_MOD3000_COLD                    0x0bb8
 #define USB_PID_DIBCOM_MOD3000_WARM                    0x0bb9
 #define USB_PID_DIBCOM_MOD3001_COLD                    0x0bc6
 #define USB_PID_DIBCOM_MOD3001_WARM                    0x0bc7
 #define USB_PID_DIBCOM_STK7700                         0x1e14
-#define USB_PID_DIBCOM_STK7700_REENUM          0x1e15
-#define USB_PID_DIBCOM_ANCHOR_2135_COLD                0x2131
-#define USB_PID_GRANDTEC_DVBT_USB_COLD         0x0fa0
-#define USB_PID_GRANDTEC_DVBT_USB_WARM         0x0fa1
+#define USB_PID_DIBCOM_STK7700_REENUM                  0x1e15
+#define USB_PID_DIBCOM_ANCHOR_2135_COLD                        0x2131
+#define USB_PID_GRANDTEC_DVBT_USB_COLD                 0x0fa0
+#define USB_PID_GRANDTEC_DVBT_USB_WARM                 0x0fa1
 #define USB_PID_KWORLD_VSTREAM_COLD                    0x17de
 #define USB_PID_KWORLD_VSTREAM_WARM                    0x17df
 #define USB_PID_TWINHAN_VP7041_COLD                    0x3201
 #define USB_PID_DNTV_TINYUSB2_WARM                     0x3224
 #define USB_PID_ULTIMA_TVBOX_COLD                      0x8105
 #define USB_PID_ULTIMA_TVBOX_WARM                      0x8106
-#define USB_PID_ULTIMA_TVBOX_AN2235_COLD       0x8107
-#define USB_PID_ULTIMA_TVBOX_AN2235_WARM       0x8108
-#define USB_PID_ULTIMA_TVBOX_ANCHOR_COLD       0x2235
-#define USB_PID_ULTIMA_TVBOX_USB2_COLD         0x8109
-#define USB_PID_ULTIMA_TVBOX_USB2_WARM         0x810a
-#define USB_PID_ULTIMA_TVBOX_USB2_FX_COLD      0x8613
-#define USB_PID_ULTIMA_TVBOX_USB2_FX_WARM      0x1002
-#define USB_PID_UNK_HYPER_PALTEK_COLD          0x005e
-#define USB_PID_UNK_HYPER_PALTEK_WARM          0x005f
-#define USB_PID_HANFTEK_UMT_010_COLD           0x0001
-#define USB_PID_HANFTEK_UMT_010_WARM           0x0015
+#define USB_PID_ULTIMA_TVBOX_AN2235_COLD               0x8107
+#define USB_PID_ULTIMA_TVBOX_AN2235_WARM               0x8108
+#define USB_PID_ULTIMA_TVBOX_ANCHOR_COLD               0x2235
+#define USB_PID_ULTIMA_TVBOX_USB2_COLD                 0x8109
+#define USB_PID_ULTIMA_TVBOX_USB2_WARM                 0x810a
+#define USB_PID_ULTIMA_TVBOX_USB2_FX_COLD              0x8613
+#define USB_PID_ULTIMA_TVBOX_USB2_FX_WARM              0x1002
+#define USB_PID_UNK_HYPER_PALTEK_COLD                  0x005e
+#define USB_PID_UNK_HYPER_PALTEK_WARM                  0x005f
+#define USB_PID_HANFTEK_UMT_010_COLD                   0x0001
+#define USB_PID_HANFTEK_UMT_010_WARM                   0x0015
 #define USB_PID_DTT200U_COLD                           0x0201
 #define USB_PID_DTT200U_WARM                           0x0301
-#define USB_PID_WT220U_COLD                                    0x0222
-#define USB_PID_WT220U_WARM                                    0x0221
-#define USB_PID_WINTV_NOVA_T_USB2_COLD         0x9300
-#define USB_PID_WINTV_NOVA_T_USB2_WARM         0x9301
+#define USB_PID_WT220U_COLD                            0x0222
+#define USB_PID_WT220U_WARM                            0x0221
+#define USB_PID_WINTV_NOVA_T_USB2_COLD                 0x9300
+#define USB_PID_WINTV_NOVA_T_USB2_WARM                 0x9301
 #define USB_PID_NEBULA_DIGITV                          0x0201
 #define USB_PID_DVICO_BLUEBIRD_LGDT                    0xd820
 #define USB_PID_DVICO_BLUEBIRD_LG064F_COLD             0xd500
 #define USB_PID_MEDION_MD95700                         0x0932
 #define USB_PID_KYE_DVB_T_COLD                         0x701e
 #define USB_PID_KYE_DVB_T_WARM                         0x701f
-#define USB_PID_PCTV_200E                                      0x020e
-#define USB_PID_PCTV_400E                                      0x020f
+#define USB_PID_PCTV_200E                              0x020e
+#define USB_PID_PCTV_400E                              0x020f
 #define USB_PID_LITEON_DVB_T_COLD                      0xf000
 #define USB_PID_LITEON_DVB_T_WARM                      0xf001
 #define USB_PID_DIGIVOX_MINI_SL_COLD                   0xe360
index d2ab7479012abf3060e40b4f6298a3af992c914b..bd0e663cf6f3663125bd3b2b6966668ace62d5e1 100644 (file)
 
 #include <linux/dvb/frontend.h>
 
+struct dib3000p_agc_config {
+       u16 val[12];
+};
+
 struct dib3000_config
 {
        /* the demodulator's i2c address */
        u8 demod_address;
+
+       const struct dib3000p_agc_config *agc;
+
+       /* PLL maintenance and the i2c address of the PLL */
+       int (*pll_init)(struct dvb_frontend *fe);
+       int (*pll_set)(struct dvb_frontend *fe, struct dvb_frontend_parameters* params);
 };
 
 struct dib_fe_xfer_ops
@@ -41,28 +51,11 @@ struct dib_fe_xfer_ops
        int (*tuner_pass_ctrl)(struct dvb_frontend *fe, int onoff, u8 pll_ctrl);
 };
 
-#if defined(CONFIG_DVB_DIB3000MB) || defined(CONFIG_DVB_DIB3000MB_MODULE)
 extern struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* config,
                                             struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops);
-#else
-static inline struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* config,
-                                            struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops)
-{
-       printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __FUNCTION__);
-       return NULL;
-}
-#endif // CONFIG_DVB_DIB3000MB
 
-#if defined(CONFIG_DVB_DIB3000MC) || defined(CONFIG_DVB_DIB3000MC_MODULE)
 extern struct dvb_frontend* dib3000mc_attach(const struct dib3000_config* config,
                                             struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops);
-#else
-static inline struct dvb_frontend* dib3000mc_attach(const struct dib3000_config* config,
-                                            struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops)
-{
-       printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __FUNCTION__);
-       return NULL;
-}
-#endif // CONFIG_DVB_DIB3000MC
 
+extern int dib3000mc_set_agc_config(struct dvb_frontend *fe, const struct dib3000p_agc_config *agc);
 #endif // DIB3000_H
index 66b30edad2e4c427940da03d24e89ca51ffcc28a..41710f43975ae73b93ab93f8eb6cbffba40a9d62 100644 (file)
@@ -558,7 +558,7 @@ static int dib3000mc_set_frontend(struct dvb_frontend* fe,
 static int dib3000mc_fe_init(struct dvb_frontend* fe, int mobile_mode)
 {
        struct dib3000_state *state = fe->demodulator_priv;
-       int AGCtuner=(int)fe->misc_priv;
+       const struct dib3000p_agc_config *agc = state->config.agc;
        deb_info("init start\n");
 
        state->timing_offset = 0;
@@ -584,11 +584,24 @@ static int dib3000mc_fe_init(struct dvb_frontend* fe, int mobile_mode)
        /* mobile mode - portable reception */
        wr_foreach(dib3000mc_reg_mobile_mode,dib3000mc_mobile_mode[1]);
 
-/* TUNER_PANASONIC_ENV57H12D5 or TUNER_MICROTUNE_MT2060. Sets agc_tuner accordingly */
+       /* AGC settings for all tuners */
        wr_foreach(dib3000mc_reg_agc_bandwidth,dib3000mc_agc_bandwidth);
        wr_foreach(dib3000mc_reg_agc_bandwidth_general,dib3000mc_agc_bandwidth_general);
-       if (AGCtuner<0 || AGCtuner>=DIB3000MC_AGC_TUNER_COUNT) AGCtuner=1;
-       wr_foreach(dib3000mc_reg_agc,dib3000mc_agc_tuner[AGCtuner]);
+
+       /* AGC setting - specific to the tuners */
+       wr(36, agc->val[0]);
+       wr(37, agc->val[1]);
+       wr(38, agc->val[2]);
+       wr(39, agc->val[3]);
+
+       wr(42, agc->val[4]);
+       wr(43, agc->val[5]);
+       wr(44, agc->val[6]);
+       wr(45, agc->val[7]);
+       wr(46, agc->val[8]);
+       wr(47, agc->val[9]);
+       wr(48, agc->val[10]);
+       wr(49, agc->val[11]);
 
        wr(DIB3000MC_REG_UNK_110,DIB3000MC_UNK_110);
        wr(26,0x6680);
@@ -824,6 +837,13 @@ static int dib3000mc_demod_init(struct dib3000_state *state)
        return 0;
 }
 
+int dib3000mc_set_agc_config(struct dvb_frontend *fe, const struct dib3000p_agc_config *agc)
+{
+       struct dib3000_state *st = fe->demodulator_priv;
+       st->config.agc = agc;
+       return 0;
+}
+EXPORT_SYMBOL(dib3000mc_set_agc_config);
 
 static struct dvb_frontend_ops dib3000mc_ops;
 
@@ -878,6 +898,7 @@ error:
        kfree(state);
        return NULL;
 }
+EXPORT_SYMBOL(dib3000mc_attach);
 
 static struct dvb_frontend_ops dib3000mc_ops = {
 
@@ -916,5 +937,3 @@ static struct dvb_frontend_ops dib3000mc_ops = {
 MODULE_AUTHOR(DRIVER_AUTHOR);
 MODULE_DESCRIPTION(DRIVER_DESC);
 MODULE_LICENSE("GPL");
-
-EXPORT_SYMBOL(dib3000mc_attach);
index e1d0c98cf914c0197d9bf639e7ab0de37f3c289a..a0c8f1c911de69c69be67a6bf96cbc5e80728cfe 100644 (file)
@@ -155,41 +155,6 @@ static u16 dib3000mc_imp_noise_ctl[][2] = {
        { 0x1294, 0x1ff8 }, /* mode 4 */
 };
 
-/* AGC registers */
-static u16 dib3000mc_reg_agc[] = {
-       36,37,38,39,42,43,44,45,46,47,48,49
-};
-/* AGC settings. Don't change the ordering of the entries */
-#define DIB3000MC_AGC_TUNER_COUNT 5
-
-static u16 dib3000mc_agc_tuner[][12] = {
-/* 0*/ {       0x0051, 0x301d, 0x0000, 0x1cc7, 0xcf5c, 0x6666,
-               0xbae1, 0xa148, 0x3b5e, 0x3c1c, 0x001a, 0x2019
-       }, /* TUNER_PANASONIC_ENV77H04D5, */
-
-/* 1*/ {       0x0051, 0x301d, 0x0000, 0x1cc7, 0xdc29, 0x570a,
-               0xbae1, 0x8ccd, 0x3b6d, 0x551d, 0x000a, 0x951e
-       }, /* TUNER_PANASONIC_ENV57H13D5, TUNER_PANASONIC_ENV57H12D5 */
-
-/* 2*/ {       0x0051, 0x301d, 0x0000, 0x1cc7, 0xffff, 0xffff,
-               0xffff, 0x0000, 0xfdfd, 0x4040, 0x00fd, 0x4040
-       }, /* TUNER_SAMSUNG_DTOS333IH102, TUNER_RFAGCIN_UNKNOWN */
-
-/* 3*/ {       0x0196, 0x301d, 0x0000, 0x1cc7, 0xbd71, 0x5c29,
-               0xb5c3, 0x6148, 0x6569, 0x5127, 0x0033, 0x3537
-       }, /* TUNER_PROVIDER_X */
-
-/* 4*/ {       0x0196, 0x301d, 0x0000, 0x1cc7, 0xffff, 0x5c29,
-               0xa8f6, 0x5eb8, 0x65ff, 0x40ff, 0x008a, 0x1114
-       }, /* TUNER_MT2060 ( as in DibCom driver )*/
-
-/*     {       0x0196, 0x301d, 0x0000, 0x1cc7, 0xbd71, 0x5c29,
-               0xb5c3, 0x6148, 0x0045, 0x5127, 0x0033, 0x3437
-       },*//* TUNER_MT2060 ( as in LITE-ON driver )*/
-
-       /* TODO TUNER_PANASONIC_ENV57H10D8, TUNER_PANASONIC_ENV57H11D8 */
-};
-
 /* AGC loop bandwidth */
 static u16 dib3000mc_reg_agc_bandwidth[] = { 40,41 };
 static u16 dib3000mc_agc_bandwidth[]  = { 0x119,0x330 };