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

Commit 89dab357 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (6916): ivtv: udelay has to be changed *after* the eeprom was read, not before



The eeprom decides which Hauppauge model it is, so the decision whether to
use an udelay of 5 or 10 needs to be taken after reading the eeprom, not
before.

Signed-off-by: default avatarHans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent d9030f57
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1076,6 +1076,10 @@ static int __devinit ivtv_probe(struct pci_dev *dev,
		ivtv_process_eeprom(itv);
	}

	/* The mspx4xx chips need a longer delay for some reason */
	if (!(itv->hw_flags & IVTV_HW_MSP34XX))
		itv->i2c_algo.udelay = 5;

	if (itv->std == 0) {
		itv->std = V4L2_STD_NTSC_M;
	}
+1 −4
Original line number Diff line number Diff line
@@ -541,7 +541,7 @@ static const struct i2c_algo_bit_data ivtv_i2c_algo_template = {
	.setscl		= ivtv_setscl_old,
	.getsda		= ivtv_getsda_old,
	.getscl		= ivtv_getscl_old,
	.udelay		= 5,
	.udelay		= 10,
	.timeout	= 200,
};

@@ -718,9 +718,6 @@ int init_ivtv_i2c(struct ivtv *itv)
		       sizeof(struct i2c_adapter));
		memcpy(&itv->i2c_algo, &ivtv_i2c_algo_template,
		       sizeof(struct i2c_algo_bit_data));
		/* The mspx4xx chips need a longer delay for some reason */
		if (itv->hw_flags & IVTV_HW_MSP34XX)
			itv->i2c_algo.udelay = 10;
		itv->i2c_algo.data = itv;
		itv->i2c_adap.algo_data = &itv->i2c_algo;
	}