File Index
Files and directories
Sign in
FILE

init.h

File preview with syntax highlighting.

linux-6.19.14/tools/include/linux/init.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef _TOOLS_LINUX_INIT_H_
 3#define _TOOLS_LINUX_INIT_H_
 4
 5#include <linux/compiler.h>
 6
 7#ifndef __init
 8# define __init
 9#endif
10
11#ifndef __exit
12# define __exit
13#endif
14
15#define __section(section)              __attribute__((__section__(section)))
16
17#define __initconst
18#define __meminit
19#define __meminitdata
20#define __refdata
21#define __initdata
22
23struct obs_kernel_param {
24	const char *str;
25	int (*setup_func)(char *st);
26	int early;
27};
28
29#define __setup_param(str, unique_id, fn, early)			\
30	static const char __setup_str_##unique_id[] __initconst		\
31		__aligned(1) = str;					\
32	static struct obs_kernel_param __setup_##unique_id		\
33		__used __section(".init.setup")				\
34		__aligned(__alignof__(struct obs_kernel_param)) =	\
35		{ __setup_str_##unique_id, fn, early }
36
37#define __setup(str, fn)						\
38	__setup_param(str, fn, fn, 0)
39
40#define early_param(str, fn)						\
41	__setup_param(str, fn, fn, 1)
42
43#endif /*  _TOOLS_LINUX_INIT_H_ */
~/ Read-only file preview.