diff -Naru a/drivers/macintosh/therm_adt746x.c b/drivers/macintosh/therm_adt746x.c --- a/drivers/macintosh/therm_adt746x.c 2005-04-14 03:20:29 -07:00 +++ b/drivers/macintosh/therm_adt746x.c 2005-04-14 03:20:29 -07:00 @@ -548,7 +548,15 @@ prop = (u32 *)get_property(np, "reg", NULL); if (!prop) return -ENODEV; - therm_bus = ((*prop) >> 8) & 0x0f; + + /* look for bus either by path or using "reg" */ + if (strstr(np->full_name, "/i2c-bus@") != NULL) { + const char *tmp_bus = (strstr(np->full_name, "/i2c-bus@") + 9); + therm_bus = tmp_bus[0]-'0'; + } else { + therm_bus = ((*prop) >> 8) & 0x0f; + } + therm_address = ((*prop) & 0xff) >> 1; printk(KERN_INFO "adt746x: Thermostat bus: %d, address: 0x%02x, " # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2005/03/08 09:30:54-08:00 colin@colino.net # [PATCH] Make therm_adt746x handle latest powerbooks # # This patch lets therm_adt746x handle the latest powerbooks. In these ones, # Apple doesn't put the i2c bus number in the "reg" property of the fan node. # Instead, we can get the bus number from the fan node path, which looks # like "/proc/device-tree/.../i2c-bus@1/.../fan". Here's a patch that # handles both old and new form. # # Signed-off-by: Colin Leroy # Signed-off-by: Andrew Morton # Signed-off-by: Linus Torvalds # # drivers/macintosh/therm_adt746x.c # 2005/03/07 20:41:25-08:00 colin@colino.net +9 -1 # Make therm_adt746x handle latest powerbooks #