summaryrefslogtreecommitdiff
path: root/linux/drivers/media
diff options
context:
space:
mode:
authorMike Isely <isely@pobox.com>2006-04-20 00:24:23 -0500
committerMike Isely <isely@pobox.com>2006-04-20 00:24:23 -0500
commit322a72b2cfc8911cfb40781716197551ff3e4504 (patch)
tree4711433563a5ab27052292081438fc099a72596a /linux/drivers/media
parenta38e144fad1d09381623675a1442f2811d7ccc66 (diff)
downloadmediapointer-dvb-s2-322a72b2cfc8911cfb40781716197551ff3e4504.tar.gz
mediapointer-dvb-s2-322a72b2cfc8911cfb40781716197551ff3e4504.tar.bz2
Keep the cx25840 I2C filter around in pvrusb2
From: Mike Isely <isely@pobox.com> Modify the I2C filter for cx25840 such that it stays around rather than going away after the initial sanity check has passed. Signed-off-by: Mike Isely <isely@pobox.com>
Diffstat (limited to 'linux/drivers/media')
-rw-r--r--linux/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/linux/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c b/linux/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c
index 232dea53f..4f1f4b000 100644
--- a/linux/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c
+++ b/linux/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c
@@ -234,6 +234,10 @@ static int i2c_hack_cx25840(struct pvr2_hdw *hdw,
return 0;
}
+ if (state == 3) {
+ return pvr2_i2c_basic_op(hdw,i2c_addr,wdata,wlen,rdata,rlen);
+ }
+
/* We're looking for the exact pattern where the revision register
is being read. The cx25840 module will always look at the
revision register first. Any other pattern of access therefore
@@ -283,11 +287,9 @@ static int i2c_hack_cx25840(struct pvr2_hdw *hdw,
goto fail;
}
- /* Success! Now let's just step out of the way and let the cx25840
- module do its work normally from now on... */
- pvr2_trace(PVR2_TRACE_INIT,"cx25840 appears to be OK,"
- " dropping its I2C filter");
- hdw->i2c_func[0x44] = pvr2_i2c_basic_op;
+ /* Success! */
+ pvr2_trace(PVR2_TRACE_CHIPS,"cx25840 appears to be OK.");
+ state = 3;
success:
hdw->i2c_cx25840_hack_state = state;