Linux Audio

Check our new training course

Linux kernel drivers training

May 6-19, 2025
Register
Loading...
Note: File does not exist in v5.9.
 1/* SPDX-License-Identifier: GPL-2.0-only */
 2/*
 3 *  Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org>
 4 */
 5
 6#ifndef __ASM_MIPS_MACHINE_H
 7#define __ASM_MIPS_MACHINE_H
 8
 9#include <linux/init.h>
10#include <linux/stddef.h>
11
12#include <asm/bootinfo.h>
13
14struct mips_machine {
15	unsigned long		mach_type;
16	const char		*mach_id;
17	const char		*mach_name;
18	void			(*mach_setup)(void);
19};
20
21#define MIPS_MACHINE(_type, _id, _name, _setup)			\
22static const char machine_name_##_type[] __initconst		\
23			__aligned(1) = _name;			\
24static const char machine_id_##_type[] __initconst		\
25			__aligned(1) = _id;			\
26static struct mips_machine machine_##_type			\
27		__used __section(.mips.machines.init) =		\
28{								\
29	.mach_type	= _type,				\
30	.mach_id	= machine_id_##_type,			\
31	.mach_name	= machine_name_##_type,			\
32	.mach_setup	= _setup,				\
33};
34
35extern long __mips_machines_start;
36extern long __mips_machines_end;
37
38#ifdef CONFIG_MIPS_MACHINE
39int  mips_machtype_setup(char *id) __init;
40void mips_machine_setup(void) __init;
41#else
42static inline int mips_machtype_setup(char *id) { return 1; }
43static inline void mips_machine_setup(void) { }
44#endif /* CONFIG_MIPS_MACHINE */
45
46#endif /* __ASM_MIPS_MACHINE_H */