Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 39e8f40d authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (3105): Remove AUDC_CONFIG_PINNACLE horror, fix mt20xx radio support.



- Remove AUDC_CONFIG_PINNACLE horror. This also fixes radio support
for mt20xx tuners.

Signed-off-by: default avatarHans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@brturbo.com.br>
parent ade0836c
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -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)
+0 −1
Original line number Diff line number Diff line
@@ -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];

+1 −1
Original line number Diff line number Diff line
@@ -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;
+7 −0
Original line number Diff line number Diff line
@@ -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);
+0 −41
Original line number Diff line number Diff line
@@ -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;
Loading