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

Re: 2.6.16 backtrace at boot (Ibook G4)



On Tue, 2006-04-18 at 17:20 +0200, Michael Schmitz wrote:
> > > Here a trace at boot from the sound driver :
> >
> > I think that bug happens if the sound driver loads before i2c-powermac.
> 
> i2c-keywest is still request-module()d in 2.6.17-rc1, FWIW.
> 
> Regarding other sound breakage with 2.6.17-rc1, I traced that to
> 
> machine_is(powermac)
> 
> returning zero in sound/ppc/pmac.c:snd_pmac_detect() when loading
> snd-powermac. The OSS driver spits -ENODEV as well on loading so I'd
> suspect the same thing here.
> 
> machine_is boils down to a comparison machine_id == &mach_powermac, is
> that sort of thing illegal after kernel init?

Totally untested patch, please let me know if it helps:

Index: linux-work/include/asm-powerpc/machdep.h
===================================================================
--- linux-work.orig/include/asm-powerpc/machdep.h	2006-04-13 09:58:50.000000000 +1000
+++ linux-work/include/asm-powerpc/machdep.h	2006-04-19 07:55:26.000000000 +1000
@@ -253,7 +253,10 @@
 
 #define __machine_desc __attribute__ ((__section__ (".machine.desc")))
 
-#define define_machine(name) struct machdep_calls mach_##name __machine_desc =
+#define define_machine(name) \
+	EXPORT_SYMBOL(mach_##name); \
+	struct machdep_calls mach_##name __machine_desc =
+
 #define machine_is(name) \
 	({ \
 		extern struct machdep_calls mach_##name \




Reply to: