1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Automatically generated C representation of snep automaton
4  * For further information about this format, see kernel documentation:
5  *   Documentation/trace/rv/deterministic_automata.rst
6  */
7 
8 enum states_snep {
9 	non_scheduling_context_snep = 0,
10 	scheduling_contex_snep,
11 	state_max_snep
12 };
13 
14 #define INVALID_STATE state_max_snep
15 
16 enum events_snep {
17 	preempt_disable_snep = 0,
18 	preempt_enable_snep,
19 	schedule_entry_snep,
20 	schedule_exit_snep,
21 	event_max_snep
22 };
23 
24 struct automaton_snep {
25 	char *state_names[state_max_snep];
26 	char *event_names[event_max_snep];
27 	unsigned char function[state_max_snep][event_max_snep];
28 	unsigned char initial_state;
29 	bool final_states[state_max_snep];
30 };
31 
32 static const struct automaton_snep automaton_snep = {
33 	.state_names = {
34 		"non_scheduling_context",
35 		"scheduling_contex"
36 	},
37 	.event_names = {
38 		"preempt_disable",
39 		"preempt_enable",
40 		"schedule_entry",
41 		"schedule_exit"
42 	},
43 	.function = {
44 		{
45 			non_scheduling_context_snep,
46 			non_scheduling_context_snep,
47 			scheduling_contex_snep,
48 			INVALID_STATE
49 		},
50 		{
51 			INVALID_STATE,
52 			INVALID_STATE,
53 			INVALID_STATE,
54 			non_scheduling_context_snep
55 		},
56 	},
57 	.initial_state = non_scheduling_context_snep,
58 	.final_states = { 1, 0 },
59 };
60