[PATCH] I2C PCA954x: Fix initial access to first mux/switch port

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The first mux/switch port would not get selected if it was the first port to be
accessed because the code believed it already had.  We now initialize the last
channel to a bogus value to ensure the first access will properly select the
channel.

Signed-off-by: Kumar Gala <galak at kernel.crashing.org>

---
commit 9040559b19987489000a75a5f8b4957ecbb0fa7f
tree 63056d09c30f32b71bf0a2a3d57a42c2380a9dd8
parent c2f0d4dc88921bb6bed9e289fbda132f587a4306
author Kumar Gala <galak at kernel.crashing.org> Tue, 25 Apr 2006 11:58:51 -0500
committer Kumar Gala <galak at kernel.crashing.org> Tue, 25 Apr 2006 11:58:51 -0500

 drivers/i2c/chips/pca954x.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/i2c/chips/pca954x.c b/drivers/i2c/chips/pca954x.c
index f300493..4ee38bc 100644
--- a/drivers/i2c/chips/pca954x.c
+++ b/drivers/i2c/chips/pca954x.c
@@ -234,6 +234,10 @@ static int pca954x_detect(struct i2c_ada
 
 	data->chip_offset = i;
 
+	/* Set last_chan to an invalid channel to force an initial setting
+	 * of the mux/switch on the first select_chan */
+	data->last_chan = 0xff;
+
 	if ((ret = i2c_attach_client(client)))
 		goto exit_free;
 






[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux