From 6efb234dd1e5c5d29caaed8578567fd15677fef2 Mon Sep 17 00:00:00 2001 From: Grant Likely Date: Sun, 2 Dec 2007 17:10:28 +1100 Subject: [PATCH] --- yaml --- r: 81087 b: refs/heads/master c: 800d68c3aa0dc3e31a87f1499d63359caa77441c h: refs/heads/master i: 81085: cedbbb74534cb30ad2aabd969bc17a8d31ff386e 81083: f05e6ec0e55e2cdc923dccb63085ca8d9d937944 81079: 637b18e9a8c9e119a8334547f52b76e8678a8177 81071: acd6dde87ba18c62ffc06fa0f4db712fdf872148 81055: d00fd259a7029e37286ad52ea7f7c39a1c7901e9 81023: 8ca99a43ea765c8d147f42d5e459efc66dd9d313 v: v3 --- [refs] | 2 +- trunk/include/asm-powerpc/machdep.h | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 8ea1b4ce4ede..5df487f6559d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 194046a17ee2600908541bc9cd5d6d421805f132 +refs/heads/master: 800d68c3aa0dc3e31a87f1499d63359caa77441c diff --git a/trunk/include/asm-powerpc/machdep.h b/trunk/include/asm-powerpc/machdep.h index 6968f4300dca..d5cd98214fab 100644 --- a/trunk/include/asm-powerpc/machdep.h +++ b/trunk/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 */