| /* | 
 |  *  Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org> | 
 |  * | 
 |  *  This program is free software; you can redistribute it and/or modify it | 
 |  *  under the terms of the GNU General Public License version 2 as published | 
 |  *  by the Free Software Foundation. | 
 |  * | 
 |  */ | 
 |  | 
 | #ifndef __ASM_MIPS_MACHINE_H | 
 | #define __ASM_MIPS_MACHINE_H | 
 |  | 
 | #include <linux/init.h> | 
 | #include <linux/stddef.h> | 
 |  | 
 | #include <asm/bootinfo.h> | 
 |  | 
 | struct mips_machine { | 
 | 	unsigned long		mach_type; | 
 | 	const char		*mach_id; | 
 | 	const char		*mach_name; | 
 | 	void			(*mach_setup)(void); | 
 | }; | 
 |  | 
 | #define MIPS_MACHINE(_type, _id, _name, _setup)			\ | 
 | static const char machine_name_##_type[] __initconst		\ | 
 | 			__aligned(1) = _name;			\ | 
 | static const char machine_id_##_type[] __initconst		\ | 
 | 			__aligned(1) = _id;			\ | 
 | static struct mips_machine machine_##_type			\ | 
 | 		__used __section(.mips.machines.init) =		\ | 
 | {								\ | 
 | 	.mach_type	= _type,				\ | 
 | 	.mach_id	= machine_id_##_type,			\ | 
 | 	.mach_name	= machine_name_##_type,			\ | 
 | 	.mach_setup	= _setup,				\ | 
 | }; | 
 |  | 
 | extern long __mips_machines_start; | 
 | extern long __mips_machines_end; | 
 |  | 
 | #ifdef CONFIG_MIPS_MACHINE | 
 | int  mips_machtype_setup(char *id) __init; | 
 | void mips_machine_setup(void) __init; | 
 | void mips_set_machine_name(const char *name) __init; | 
 | char *mips_get_machine_name(void); | 
 | #else | 
 | static inline int mips_machtype_setup(char *id) { return 1; } | 
 | static inline void mips_machine_setup(void) { } | 
 | static inline void mips_set_machine_name(const char *name) { } | 
 | static inline char *mips_get_machine_name(void) { return NULL; } | 
 | #endif /* CONFIG_MIPS_MACHINE */ | 
 |  | 
 | #endif /* __ASM_MIPS_MACHINE_H */ |