1/* SPDX-License-Identifier: GPL-2.0
2 *
3 * include/asm-sh/machvec.h
4 *
5 * Copyright 2000 Stuart Menefy (stuart.menefy@st.com)
6 */
7
8#ifndef _ASM_SH_MACHVEC_H
9#define _ASM_SH_MACHVEC_H
10
11#include <linux/types.h>
12#include <linux/time.h>
13#include <generated/machtypes.h>
14
15struct sh_machine_vector {
16	void (*mv_setup)(char **cmdline_p);
17	const char *mv_name;
18
19	int (*mv_irq_demux)(int irq);
20	void (*mv_init_irq)(void);
21
22	int (*mv_clk_init)(void);
23	int (*mv_mode_pins)(void);
24
25	void (*mv_mem_init)(void);
26	void (*mv_mem_reserve)(void);
27};
28
29extern struct sh_machine_vector sh_mv;
30
31#define get_system_type()	sh_mv.mv_name
32
33#define __initmv \
34	__used __section(".machvec.init")
35
36#endif /* _ASM_SH_MACHVEC_H */
37