Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=800d68c3aa0dc3e31a87f1499d63359caa77441c
Commit:     800d68c3aa0dc3e31a87f1499d63359caa77441c
Parent:     194046a17ee2600908541bc9cd5d6d421805f132
Author:     Grant Likely <[EMAIL PROTECTED]>
AuthorDate: Sun Dec 2 17:10:28 2007 +1100
Committer:  Paul Mackerras <[EMAIL PROTECTED]>
CommitDate: Thu Dec 20 16:11:46 2007 +1100

    [POWERPC] Add machine initcall macros
    
    The machine initcall macros allow initcalls to be registered which
    test machine_is() before executing the initcall.
    
    Signed-off-by: Grant Likely <[EMAIL PROTECTED]>
    Signed-off-by: Paul Mackerras <[EMAIL PROTECTED]>
---
 include/asm-powerpc/machdep.h |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/include/asm-powerpc/machdep.h b/include/asm-powerpc/machdep.h
index 6968f43..d5cd982 100644
--- a/include/asm-powerpc/machdep.h
+++ b/include/asm-powerpc/machdep.h
@@ -326,5 +326,28 @@ static inline void log_error(char *buf, unsigned int 
err_type, int fatal)
                ppc_md.log_error(buf, err_type, fatal);
 }
 
+#define __define_machine_initcall(mach,level,fn,id) \
+       static int __init __machine_initcall_##mach##_##fn(void) { \
+               if (machine_is(mach)) return fn(); \
+               return 0; \
+       } \
+       __define_initcall(level,__machine_initcall_##mach##_##fn,id);
+
+#define machine_core_initcall(mach,fn)         
__define_machine_initcall(mach,"1",fn,1)
+#define machine_core_initcall_sync(mach,fn)    
__define_machine_initcall(mach,"1s",fn,1s)
+#define machine_postcore_initcall(mach,fn)     
__define_machine_initcall(mach,"2",fn,2)
+#define machine_postcore_initcall_sync(mach,fn)        
__define_machine_initcall(mach,"2s",fn,2s)
+#define machine_arch_initcall(mach,fn)         
__define_machine_initcall(mach,"3",fn,3)
+#define machine_arch_initcall_sync(mach,fn)    
__define_machine_initcall(mach,"3s",fn,3s)
+#define machine_subsys_initcall(mach,fn)       
__define_machine_initcall(mach,"4",fn,4)
+#define machine_subsys_initcall_sync(mach,fn)  
__define_machine_initcall(mach,"4s",fn,4s)
+#define machine_fs_initcall(mach,fn)           
__define_machine_initcall(mach,"5",fn,5)
+#define machine_fs_initcall_sync(mach,fn)      
__define_machine_initcall(mach,"5s",fn,5s)
+#define machine_rootfs_initcall(mach,fn)       
__define_machine_initcall(mach,"rootfs",fn,rootfs)
+#define machine_device_initcall(mach,fn)       
__define_machine_initcall(mach,"6",fn,6)
+#define machine_device_initcall_sync(mach,fn)  
__define_machine_initcall(mach,"6s",fn,6s)
+#define machine_late_initcall(mach,fn)         
__define_machine_initcall(mach,"7",fn,7)
+#define machine_late_initcall_sync(mach,fn)    
__define_machine_initcall(mach,"7s",fn,7s)
+
 #endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_MACHDEP_H */
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to