V4L/DVB (3105): Remove AUDC_CONFIG_PINNACLE horror, fix mt20xx radio support.
authorHans Verkuil <hverkuil@xs4all.nl>
Mon, 9 Jan 2006 17:25:16 +0000 (15:25 -0200)
committerMauro Carvalho Chehab <mchehab@brturbo.com.br>
Mon, 9 Jan 2006 17:25:16 +0000 (15:25 -0200)
- Remove AUDC_CONFIG_PINNACLE horror. This also fixes radio support
for mt20xx tuners.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
drivers/media/video/bttv-cards.c
drivers/media/video/bttv-driver.c
drivers/media/video/bttvp.h
drivers/media/video/mt20xx.c
drivers/media/video/tda9887.c
drivers/media/video/tuner-core.c
include/media/audiochip.h

index 80bcbc4ea3a456e34df81edf9cce4f0f722b69c1..c94092351b79ba501ca27eca2d95bfdcdcba482e 100644 (file)
@@ -3056,26 +3056,33 @@ static void miro_pinnacle_gpio(struct bttv *btv)
                switch (id) {
                case 1:
                        info = "PAL / mono";
+                       btv->tda9887_conf = TDA9887_INTERCARRIER;
                        break;
                case 2:
                        info = "PAL+SECAM / stereo";
                        btv->has_radio = 1;
+                       btv->tda9887_conf = TDA9887_QSS;
                        break;
                case 3:
                        info = "NTSC / stereo";
                        btv->has_radio = 1;
+                       btv->tda9887_conf = TDA9887_QSS;
                        break;
                case 4:
                        info = "PAL+SECAM / mono";
+                       btv->tda9887_conf = TDA9887_QSS;
                        break;
                case 5:
                        info = "NTSC / mono";
+                       btv->tda9887_conf = TDA9887_INTERCARRIER;
                        break;
                case 6:
                        info = "NTSC / stereo";
+                       btv->tda9887_conf = TDA9887_INTERCARRIER;
                        break;
                case 7:
                        info = "PAL / stereo";
+                       btv->tda9887_conf = TDA9887_INTERCARRIER;
                        break;
                default:
                        info = "oops: unknown card";
@@ -3086,8 +3093,7 @@ static void miro_pinnacle_gpio(struct bttv *btv)
                printk(KERN_INFO
                       "bttv%d: pinnacle/mt: id=%d info=\"%s\" radio=%s\n",
                       btv->c.nr, id, info, btv->has_radio ? "yes" : "no");
-               btv->tuner_type  = 33;
-               btv->pinnacle_id = id;
+               btv->tuner_type = TUNER_MT2032;
        }
 }
 
@@ -3389,9 +3395,9 @@ void __devinit bttv_init_card2(struct bttv *btv)
                bttv_call_i2c_clients(btv, TUNER_SET_TYPE_ADDR, &tun_setup);
        }
 
-       if (btv->pinnacle_id != UNSET) {
-               bttv_call_i2c_clients(btv, AUDC_CONFIG_PINNACLE,
-                                                       &btv->pinnacle_id);
+       if (btv->tda9887_conf) {
+               bttv_call_i2c_clients(btv, TDA9887_SET_CONFIG,
+                                                       &btv->tda9887_conf);
        }
 
        btv->svhs = bttv_tvcards[btv->c.type].svhs;
@@ -3443,7 +3449,7 @@ void __devinit bttv_init_card2(struct bttv *btv)
 
        /* tuner modules */
        tda9887 = 0;
-       if (btv->pinnacle_id != UNSET)
+       if (btv->tda9887_conf)
                tda9887 = 1;
        if (0 == tda9887 && 0 == bttv_tvcards[btv->c.type].has_dvb &&
            bttv_I2CRead(btv, I2C_TDA9887, "TDA9887") >=0)
index 03f925724ce931af57d2702a97a52e2ceb452f4d..39e9178e599e09a4f7d0c6952e95166120bf1043 100644 (file)
@@ -3947,7 +3947,6 @@ static int __devinit bttv_probe(struct pci_dev *dev,
 
        btv->i2c_rc = -1;
        btv->tuner_type  = UNSET;
-       btv->pinnacle_id = UNSET;
        btv->new_input   = UNSET;
        btv->has_radio=radio[btv->c.nr];
 
index 1e6a5632c3c71a48ca479d69efdc4514376608d0..d04d023853490d85cf83502b546fc3be587e4378 100644 (file)
@@ -270,7 +270,7 @@ struct bttv {
        /* card configuration info */
        unsigned int cardid;   /* pci subsystem id (bt878 based ones) */
        unsigned int tuner_type;  /* tuner chip type */
-       unsigned int pinnacle_id;
+       unsigned int tda9887_conf;
        unsigned int svhs;
        struct bttv_pll_info pll;
        int triton1;
index 2180018f06de95af017850d319441650d1f16acb..e2df722ebaeb353d56f86330b6a895bf194139bd 100644 (file)
@@ -494,6 +494,13 @@ int microtune_init(struct i2c_client *c)
        t->tv_freq    = NULL;
        t->radio_freq = NULL;
        t->standby    = NULL;
+       if (t->std & V4L2_STD_525_60) {
+               tuner_dbg("pinnacle ntsc\n");
+               t->radio_if2 = 41300 * 1000;
+       } else {
+               tuner_dbg("pinnacle pal\n");
+               t->radio_if2 = 33300 * 1000;
+       }
        name = "unknown";
 
        i2c_master_send(c,buf,1);
index ae4029a074492c9ea198947a4e464e7d332e5d66..ceaa29975c8e58648ec50ede620286673b0a2e7b 100644 (file)
@@ -57,7 +57,6 @@ struct tda9887 {
        v4l2_std_id        std;
        enum tuner_mode    mode;
        unsigned int       config;
-       unsigned int       pinnacle_id;
        unsigned int       using_v4l2;
        unsigned int       radio_mode;
        unsigned char      data[4];
@@ -481,34 +480,6 @@ static int tda9887_set_config(struct tda9887 *t, char *buf)
 
 /* ---------------------------------------------------------------------- */
 
-static int tda9887_set_pinnacle(struct tda9887 *t, char *buf)
-{
-       unsigned int bCarrierMode = UNSET;
-
-       if (t->std & V4L2_STD_625_50) {
-               if ((1 == t->pinnacle_id) || (7 == t->pinnacle_id)) {
-                       bCarrierMode = cIntercarrier;
-               } else {
-                       bCarrierMode = cQSS;
-               }
-       }
-       if (t->std & V4L2_STD_525_60) {
-               if ((5 == t->pinnacle_id) || (6 == t->pinnacle_id)) {
-                       bCarrierMode = cIntercarrier;
-               } else {
-                       bCarrierMode = cQSS;
-               }
-       }
-
-       if (bCarrierMode != UNSET) {
-               buf[1] &= ~0x04;
-               buf[1] |= bCarrierMode;
-       }
-       return 0;
-}
-
-/* ---------------------------------------------------------------------- */
-
 static char pal[] = "-";
 module_param_string(pal, pal, sizeof(pal), 0644);
 static char secam[] = "-";
@@ -593,9 +564,6 @@ static int tda9887_configure(struct tda9887 *t)
        t->data[1] |= cOutputPort1Inactive;
        t->data[1] |= cOutputPort2Inactive;
 
-       if (UNSET != t->pinnacle_id) {
-               tda9887_set_pinnacle(t,t->data);
-       }
        tda9887_set_config(t,t->data);
        tda9887_set_insmod(t,t->data);
 
@@ -634,7 +602,6 @@ static int tda9887_attach(struct i2c_adapter *adap, int addr, int kind)
 
        t->client      = client_template;
        t->std         = 0;
-       t->pinnacle_id = UNSET;
        t->radio_mode = V4L2_TUNER_MODE_STEREO;
 
        tda9887_info("chip found @ 0x%x (%s)\n", addr<<1, adap->name);
@@ -698,14 +665,6 @@ tda9887_command(struct i2c_client *client, unsigned int cmd, void *arg)
                tda9887_configure(t);
                break;
        }
-       case AUDC_CONFIG_PINNACLE:
-       {
-               int *i = arg;
-
-               t->pinnacle_id = *i;
-               tda9887_configure(t);
-               break;
-       }
        case TDA9887_SET_CONFIG:
        {
                int *i = arg;
index ae76113886fdd828726424d6431617f52bd2b473..c8ff849e89033a57233783325c4580eaffdb8bed 100644 (file)
@@ -510,7 +510,6 @@ static void tuner_status(struct i2c_client *client)
 static int tuner_command(struct i2c_client *client, unsigned int cmd, void *arg)
 {
        struct tuner *t = i2c_get_clientdata(client);
-       unsigned int *iarg = (int *)arg;
 
        switch (cmd) {
        /* --- configuration --- */
@@ -533,18 +532,6 @@ static int tuner_command(struct i2c_client *client, unsigned int cmd, void *arg)
                                t->standby (client);
                        break;
                }
-       case AUDC_CONFIG_PINNACLE:
-               switch (*iarg) {
-               case 2:
-                       tuner_dbg("pinnacle pal\n");
-                       t->radio_if2 = 33300 * 1000;
-                       break;
-               case 3:
-                       tuner_dbg("pinnacle ntsc\n");
-                       t->radio_if2 = 41300 * 1000;
-                       break;
-               }
-               break;
        case VIDIOCSAUDIO:
                if (check_mode(t, "VIDIOCSAUDIO") == EINVAL)
                        return 0;
index b7d4b0930408c3e366e28de0a196387bd03a743d..411f09fc45741b9151896efb7b375f13cb882a95 100644 (file)
@@ -40,15 +40,4 @@ enum audiochip {
 #define AUDIO_MUTE         0x80
 #define AUDIO_UNMUTE       0x81
 
-/* all the stuff below is obsolete and just here for reference.  I'll
- * remove it once the driver is tested and works fine.
- *
- * Instead creating alot of tiny API's for all kinds of different
- * chips, we'll just pass throuth the v4l ioctl structs (v4l2 not
- * yet...).  It is a bit less flexible, but most/all used i2c chips
- * make sense in v4l context only.  So I think that's acceptable...
- */
-
-/* misc stuff to pass around config info to i2c chips */
-#define AUDC_CONFIG_PINNACLE  _IOW('m',32,int)
 #endif /* AUDIOCHIP_H */