1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * linux/include/asm/setup.h 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) 1997-1999 Russell King 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * Structure passed to kernel to tell it about the 8*4882a593Smuzhiyun * hardware it's running on. See Documentation/arm/setup.rst 9*4882a593Smuzhiyun * for more info. 10*4882a593Smuzhiyun */ 11*4882a593Smuzhiyun #ifndef __ASMARM_SETUP_H 12*4882a593Smuzhiyun #define __ASMARM_SETUP_H 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun #include <uapi/asm/setup.h> 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun #define __tag __used __section(".taglist.init") 18*4882a593Smuzhiyun #define __tagtable(tag, fn) \ 19*4882a593Smuzhiyun static const struct tagtable __tagtable_##fn __tag = { tag, fn } 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun extern int arm_add_memory(u64 start, u64 size); 22*4882a593Smuzhiyun extern void early_print(const char *str, ...); 23*4882a593Smuzhiyun extern void dump_machine_table(void); 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun #ifdef CONFIG_ATAGS_PROC 26*4882a593Smuzhiyun extern void save_atags(const struct tag *tags); 27*4882a593Smuzhiyun #else save_atags(const struct tag * tags)28*4882a593Smuzhiyunstatic inline void save_atags(const struct tag *tags) { } 29*4882a593Smuzhiyun #endif 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun #endif 32