Skip to content

Commit

Permalink
V4L/DVB (6916): ivtv: udelay has to be changed *after* the eeprom was…
Browse files Browse the repository at this point in the history
… 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: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
  • Loading branch information
Hans Verkuil authored and Mauro Carvalho Chehab committed Jan 7, 2008
1 parent d9030f5 commit 89dab35
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 4 deletions.
4 changes: 4 additions & 0 deletions drivers/media/video/ivtv/ivtv-driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down
5 changes: 1 addition & 4 deletions drivers/media/video/ivtv/ivtv-i2c.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
};

Expand Down Expand Up @@ -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;
}
Expand Down

0 comments on commit 89dab35

Please sign in to comment.