V4L/DVB: FusionHDTV: Use quick reads for I2C IR device probing
commitd21a551cd30abca8818fc3a8ef6d7c3015675104
authorJean Delvare <khali@linux-fr.org>
Wed, 26 May 2010 13:05:11 +0000 (26 10:05 -0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 2 Aug 2010 17:30:15 +0000 (2 10:30 -0700)
treebcf454451075c29fe5c179c5f95bd7067d1832e7
parent2213a00b8f18ea821b7b90227810723c69266916
V4L/DVB: FusionHDTV: Use quick reads for I2C IR device probing

commit 806b07c29b711aaf90c81d2a19711607769f8246 upstream.

IR support on FusionHDTV cards is broken since kernel 2.6.31. One side
effect of the switch to the standard binding model for IR I2C devices
was to let i2c-core do the probing instead of the ir-kbd-i2c driver.
There is a slight difference between the two probe methods: i2c-core
uses 0-byte writes, while the ir-kbd-i2c was using 0-byte reads. As
some IR I2C devices only support reads, the new probe method fails to
detect them.

For now, revert to letting the driver do the probe, using 0-byte
reads. In the future, i2c-core will be extended to let callers of
i2c_new_probed_device() provide a custom probing function.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Tested-by: "Timothy D. Lenz" <tlenz@vorgon.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/media/video/cx23885/cx23885-i2c.c
drivers/media/video/cx88/cx88-i2c.c