Fan control for new PowerMac G5 2.7GHz machines?

Geoff Levand geoffrey.levand at am.sony.com
Wed Aug 10 09:21:51 EST 2005


Benjamin Herrenschmidt wrote:
>>i2c /dev entries driver
>>/u3 at 0,f8000000/i2c at f8001000: Missing interrupt or address !
>>
>>In therm_pm72_attach() it hits 'Found K2', but u3_0 and u3_1 
>>are never set, so start_control_loops() is never called.
>>
>>I'll look at it more when I have some time.
> 
> 
> Ah yes, this is indeed the problem ! There is a bug in Apple device tree
> on these machines that is breaking Linux. I should have a workaround
> upstream, but for some reason, it seems it's not working for you.
> 
> Can you look at arch/ppc64/kernel/prom_init.c, more specifically, the
> function
> 
> static void __init fixup_device_tree(void)
> 
> And see if it's going all the way to the fixup code at the end or not ?
> If not, then one of the tests isn't triggering the right way on your
> machine, possibly the U3 revision. 
> 

Seems like this makes it work, at least I get '** CPU ...' like debug 
messages coming out. 

-Geoff

--- a/arch/ppc64/kernel/prom_init.c	2005-07-27 18:34:40.000000000 -0700
+++ b/arch/ppc64/kernel/prom_init.c	2005-08-09 16:18:04.000000000 -0700
@@ -1803,7 +1803,7 @@
 	if (prom_getprop(u3, "device-rev", &u3_rev, sizeof(u3_rev))
 	    == PROM_ERROR)
 		return;
-	if (u3_rev != 0x35)
+	if (u3_rev != 0x35 && u3_rev != 0x37)
 		return;
 	/* does it need fixup ? */
 	if (prom_getproplen(i2c, "interrupts") > 0)

-EOF




More information about the Linuxppc64-dev mailing list