git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
[safe/jmp/linux-2.6]
/
include
/
linux
/
init.h
diff --git
a/include/linux/init.h
b/include/linux/init.h
index
9f70c9f
..
ab1d31f
100644
(file)
--- a/
include/linux/init.h
+++ b/
include/linux/init.h
@@
-2,8
+2,6
@@
#define _LINUX_INIT_H
#include <linux/compiler.h>
#define _LINUX_INIT_H
#include <linux/compiler.h>
-#include <linux/section-names.h>
-#include <linux/stringify.h>
/* These macros are used to mark some functions or
* initialized data (doesn't apply to uninitialized data)
/* These macros are used to mark some functions or
* initialized data (doesn't apply to uninitialized data)
@@
-31,7
+29,7
@@
* sign followed by value, e.g.:
*
* static int init_variable __initdata = 0;
* sign followed by value, e.g.:
*
* static int init_variable __initdata = 0;
- * static c
har linux_logo[] __initdata
= { 0x32, 0x36, ... };
+ * static c
onst char linux_logo[] __initconst
= { 0x32, 0x36, ... };
*
* Don't forget to initialize data not at file scope, i.e. within a function,
* as gcc otherwise puts the data into the bss section and not into the init
*
* Don't forget to initialize data not at file scope, i.e. within a function,
* as gcc otherwise puts the data into the bss section and not into the init
@@
-101,12
+99,12
@@
#define __memexitconst __section(.memexit.rodata)
/* For assembly routines */
#define __memexitconst __section(.memexit.rodata)
/* For assembly routines */
-#define __HEAD .section
__stringify(HEAD_TEXT_SECTION)
,"ax"
+#define __HEAD .section
".head.text"
,"ax"
#define __INIT .section ".init.text","ax"
#define __FINIT .previous
#define __INIT .section ".init.text","ax"
#define __FINIT .previous
-#define __INITDATA .section ".init.data","aw"
-#define __INITRODATA .section ".init.rodata","a"
+#define __INITDATA .section ".init.data","aw"
,%progbits
+#define __INITRODATA .section ".init.rodata","a"
,%progbits
#define __FINITDATA .previous
#define __DEVINIT .section ".devinit.text", "ax"
#define __FINITDATA .previous
#define __DEVINIT .section ".devinit.text", "ax"
@@
-136,6
+134,9
@@
typedef void (*exitcall_t)(void);
extern initcall_t __con_initcall_start[], __con_initcall_end[];
extern initcall_t __security_initcall_start[], __security_initcall_end[];
extern initcall_t __con_initcall_start[], __con_initcall_end[];
extern initcall_t __security_initcall_start[], __security_initcall_end[];
+/* Used for contructor calls. */
+typedef void (*ctor_fn_t)(void);
+
/* Defined in init/main.c */
extern int do_one_initcall(initcall_t fn);
extern char __initdata boot_command_line[];
/* Defined in init/main.c */
extern int do_one_initcall(initcall_t fn);
extern char __initdata boot_command_line[];
@@
-148,6
+149,8
@@
void prepare_namespace(void);
extern void (*late_time_init)(void);
extern void (*late_time_init)(void);
+extern int initcall_debug;
+
#endif
#ifndef MODULE
#endif
#ifndef MODULE
@@
-270,6
+273,7
@@
void __init parse_early_options(char *cmdline);
#else /* MODULE */
/* Don't use these in modules, but some people do... */
#else /* MODULE */
/* Don't use these in modules, but some people do... */
+#define early_initcall(fn) module_init(fn)
#define core_initcall(fn) module_init(fn)
#define postcore_initcall(fn) module_init(fn)
#define arch_initcall(fn) module_init(fn)
#define core_initcall(fn) module_init(fn)
#define postcore_initcall(fn) module_init(fn)
#define arch_initcall(fn) module_init(fn)
@@
-304,9
+308,17
@@
void __init parse_early_options(char *cmdline);
#ifdef CONFIG_MODULES
#define __init_or_module
#define __initdata_or_module
#ifdef CONFIG_MODULES
#define __init_or_module
#define __initdata_or_module
+#define __initconst_or_module
+#define __INIT_OR_MODULE .text
+#define __INITDATA_OR_MODULE .data
+#define __INITRODATA_OR_MODULE .section ".rodata","a",%progbits
#else
#define __init_or_module __init
#define __initdata_or_module __initdata
#else
#define __init_or_module __init
#define __initdata_or_module __initdata
+#define __initconst_or_module __initconst
+#define __INIT_OR_MODULE __INIT
+#define __INITDATA_OR_MODULE __INITDATA
+#define __INITRODATA_OR_MODULE __INITRODATA
#endif /*CONFIG_MODULES*/
/* Functions marked as __devexit may be discarded at kernel link time, depending
#endif /*CONFIG_MODULES*/
/* Functions marked as __devexit may be discarded at kernel link time, depending