scx200_i2c driver fails to detect any i2c devices in 2.6.26

From: Lennart Sorensen
Date: Thu Oct 23 2008 - 12:54:30 EST


In 2.6.18, the scx200_i2c driver was working just fine. Now while
moving to 2.6.26 I find that the bus no longer locates any devices when
drivers are loaded, even though i2cdetect has no problem locating
devices on the bus.

After some searching, I discovered that the scx200_i2c driver doesn't
have a .class parameter filled in, even though every other i2c driver
does. A small patch adding the .class parameter fixes the problem.

Not sure if it should be I2C_CLASS_ALL or I2C_CLASS_HWMON, or even
I2C_CLASS_HWMON | I2C_CLASS_SPD (in current git tree). Using
I2C_CLASS_ALL works for me and works with my lm75, m41t81 and spd
eeprom in 2.6.26.

--- a/drivers/i2c/busses/scx200_i2c.c 2008-07-13 17:51:29.000000000 -0400
+++ b/drivers/i2c/busses/scx200_i2c.c 2008-10-23 12:41:02.000000000 -0400
@@ -81,6 +81,7 @@

static struct i2c_adapter scx200_i2c_ops = {
.owner = THIS_MODULE,
+ .class = I2C_CLASS_ALL,
.id = I2C_HW_B_SCX200,
.algo_data = &scx200_i2c_data,
.name = "NatSemi SCx200 I2C",

--
Len Sorensen
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/