11dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/**************************************************************************** 21dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project **************************************************************************** 31dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** 41dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** This header was automatically generated from a Linux kernel header 51dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** of the same name, to make information necessary for userspace to 61dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** call into the kernel available to libc. It contains only constants, 71dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** structures, and macros generated from the original header, and thus, 81dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** contains no copyrightable information. 91dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** 10654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** To edit the content of this header, modify the corresponding 11654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** source file (e.g. under external/kernel-headers/original/) then 12654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** run bionic/libc/kernel/tools/update_all.py 13654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** 14654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** Any manual change here will be lost the next time this script will 15654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** be run. You've been warned! 16654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** 171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project **************************************************************************** 181dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************/ 191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifndef _LINUX_INIT_H 201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define _LINUX_INIT_H 211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/compiler.h> 221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __init __attribute__ ((__section__ (".init.text"))) 23654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __initdata __attribute__ ((__section__ (".init.data"))) 251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __exitdata __attribute__ ((__section__(".exit.data"))) 261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __exit_call __attribute_used__ __attribute__ ((__section__ (".exitcall.exit"))) 271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifdef MODULE 28654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __exit __attribute__ ((__section__(".exit.text"))) 301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#else 311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __exit __attribute_used__ __attribute__ ((__section__(".exit.text"))) 321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 33654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __INIT .section ".init.text","ax" 351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __FINIT .previous 361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __INITDATA .section ".init.data","aw" 371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifndef __ASSEMBLY__ 38654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef int (*initcall_t)(void); 401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef void (*exitcall_t)(void); 411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifndef MODULE 43654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifndef __ASSEMBLY__ 451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __define_initcall(level,fn) static initcall_t __initcall_##fn __attribute_used__ __attribute__((__section__(".initcall" level ".init"))) = fn 461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define core_initcall(fn) __define_initcall("1",fn) 471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define postcore_initcall(fn) __define_initcall("2",fn) 48654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define arch_initcall(fn) __define_initcall("3",fn) 501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define subsys_initcall(fn) __define_initcall("4",fn) 511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define fs_initcall(fn) __define_initcall("5",fn) 521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define device_initcall(fn) __define_initcall("6",fn) 53654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define late_initcall(fn) __define_initcall("7",fn) 551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __initcall(fn) device_initcall(fn) 561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __exitcall(fn) static exitcall_t __exitcall_##fn __exit_call = fn 571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define console_initcall(fn) static initcall_t __initcall_##fn __attribute_used__ __attribute__((__section__(".con_initcall.init")))=fn 58654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define security_initcall(fn) static initcall_t __initcall_##fn __attribute_used__ __attribute__((__section__(".security_initcall.init"))) = fn 601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct obs_kernel_param { 611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project const char *str; 621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*setup_func)(char *); 63654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int early; 651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project}; 661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __setup_param(str, unique_id, fn, early) static char __setup_str_##unique_id[] __initdata = str; static struct obs_kernel_param __setup_##unique_id __attribute_used__ __attribute__((__section__(".init.setup"))) __attribute__((aligned((sizeof(long))))) = { __setup_str_##unique_id, fn, early } 671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __setup_null_param(str, unique_id) __setup_param(str, unique_id, NULL, 0) 68654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __setup(str, fn) __setup_param(str, fn, fn, 0) 701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __obsolete_setup(str) __setup_null_param(str, __LINE__) 711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define early_param(str, fn) __setup_param(str, fn, fn, 1) 721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 73654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define module_init(x) __initcall(x); 751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define module_exit(x) __exitcall(x); 761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#else 771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define core_initcall(fn) module_init(fn) 78654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define postcore_initcall(fn) module_init(fn) 801dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define arch_initcall(fn) module_init(fn) 811dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define subsys_initcall(fn) module_init(fn) 821dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define fs_initcall(fn) module_init(fn) 83654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 841dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define device_initcall(fn) module_init(fn) 851dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define late_initcall(fn) module_init(fn) 861dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define security_initcall(fn) module_init(fn) 871dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define module_init(initfn) static inline initcall_t __inittest(void) { return initfn; } int init_module(void) __attribute__((alias(#initfn))); 88654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 891dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define module_exit(exitfn) static inline exitcall_t __exittest(void) { return exitfn; } void cleanup_module(void) __attribute__((alias(#exitfn))); 901dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __setup_param(str, unique_id, fn) 911dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __setup_null_param(str, unique_id) 921dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __setup(str, func) 93654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 941dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __obsolete_setup(str) 951dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 961dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __nosavedata __attribute__ ((__section__ (".data.nosave"))) 971dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __init_or_module __init 98654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 991dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __initdata_or_module __initdata 1001dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __devinit __init 1011dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __devinitdata __initdata 1021dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __devexit __exit 103654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1041dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __devexitdata __exitdata 1051dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __cpuinit __init 1061dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __cpuinitdata __initdata 1071dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __cpuexit __exit 108654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1091dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __cpuexitdata __exitdata 1101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __meminit __init 1111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __meminitdata __initdata 1121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __memexit __exit 113654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __memexitdata __exitdata 1151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifdef MODULE 1161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __devexit_p(x) x 1171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#else 118654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __devexit_p(x) NULL 1201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 1211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifdef MODULE 1221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __exit_p(x) x 123654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#else 1251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __exit_p(x) NULL 1261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 1271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 128654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129