|
@@ -282,68 +282,8 @@ void __init parse_early_param(void);
|
|
|
void __init parse_early_options(char *cmdline);
|
|
|
#endif /* __ASSEMBLY__ */
|
|
|
|
|
|
-/**
|
|
|
- * module_init() - driver initialization entry point
|
|
|
- * @x: function to be run at kernel boot time or module insertion
|
|
|
- *
|
|
|
- * module_init() will either be called during do_initcalls() (if
|
|
|
- * builtin) or at module insertion time (if a module). There can only
|
|
|
- * be one per module.
|
|
|
- */
|
|
|
-#define module_init(x) __initcall(x);
|
|
|
-
|
|
|
-/**
|
|
|
- * module_exit() - driver exit entry point
|
|
|
- * @x: function to be run when driver is removed
|
|
|
- *
|
|
|
- * module_exit() will wrap the driver clean-up code
|
|
|
- * with cleanup_module() when used with rmmod when
|
|
|
- * the driver is a module. If the driver is statically
|
|
|
- * compiled into the kernel, module_exit() has no effect.
|
|
|
- * There can only be one per module.
|
|
|
- */
|
|
|
-#define module_exit(x) __exitcall(x);
|
|
|
-
|
|
|
#else /* MODULE */
|
|
|
|
|
|
-/*
|
|
|
- * In most cases loadable modules do not need custom
|
|
|
- * initcall levels. There are still some valid cases where
|
|
|
- * a driver may be needed early if built in, and does not
|
|
|
- * matter when built as a loadable module. Like bus
|
|
|
- * snooping debug drivers.
|
|
|
- */
|
|
|
-#define early_initcall(fn) module_init(fn)
|
|
|
-#define core_initcall(fn) module_init(fn)
|
|
|
-#define core_initcall_sync(fn) module_init(fn)
|
|
|
-#define postcore_initcall(fn) module_init(fn)
|
|
|
-#define postcore_initcall_sync(fn) module_init(fn)
|
|
|
-#define arch_initcall(fn) module_init(fn)
|
|
|
-#define subsys_initcall(fn) module_init(fn)
|
|
|
-#define subsys_initcall_sync(fn) module_init(fn)
|
|
|
-#define fs_initcall(fn) module_init(fn)
|
|
|
-#define fs_initcall_sync(fn) module_init(fn)
|
|
|
-#define rootfs_initcall(fn) module_init(fn)
|
|
|
-#define device_initcall(fn) module_init(fn)
|
|
|
-#define device_initcall_sync(fn) module_init(fn)
|
|
|
-#define late_initcall(fn) module_init(fn)
|
|
|
-#define late_initcall_sync(fn) module_init(fn)
|
|
|
-
|
|
|
-#define console_initcall(fn) module_init(fn)
|
|
|
-#define security_initcall(fn) module_init(fn)
|
|
|
-
|
|
|
-/* Each module must use one module_init(). */
|
|
|
-#define module_init(initfn) \
|
|
|
- static inline initcall_t __inittest(void) \
|
|
|
- { return initfn; } \
|
|
|
- int init_module(void) __attribute__((alias(#initfn)));
|
|
|
-
|
|
|
-/* This is only required if you want to be unloadable. */
|
|
|
-#define module_exit(exitfn) \
|
|
|
- static inline exitcall_t __exittest(void) \
|
|
|
- { return exitfn; } \
|
|
|
- void cleanup_module(void) __attribute__((alias(#exitfn)));
|
|
|
-
|
|
|
#define __setup_param(str, unique_id, fn) /* nothing */
|
|
|
#define __setup(str, func) /* nothing */
|
|
|
#endif
|
|
@@ -351,24 +291,6 @@ void __init parse_early_options(char *cmdline);
|
|
|
/* Data marked not to be saved by software suspend */
|
|
|
#define __nosavedata __section(.data..nosave)
|
|
|
|
|
|
-/* This means "can be init if no module support, otherwise module load
|
|
|
- may call it." */
|
|
|
-#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
|
|
|
-#define __initconst_or_module __initconst
|
|
|
-#define __INIT_OR_MODULE __INIT
|
|
|
-#define __INITDATA_OR_MODULE __INITDATA
|
|
|
-#define __INITRODATA_OR_MODULE __INITRODATA
|
|
|
-#endif /*CONFIG_MODULES*/
|
|
|
-
|
|
|
#ifdef MODULE
|
|
|
#define __exit_p(x) x
|
|
|
#else
|