1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Automatically generated C representation of sncid automaton
4  * For further information about this format, see kernel documentation:
5  *   Documentation/trace/rv/deterministic_automata.rst
6  */
7 
8 enum states_sncid {
9 	can_sched_sncid = 0,
10 	cant_sched_sncid,
11 	state_max_sncid
12 };
13 
14 #define INVALID_STATE state_max_sncid
15 
16 enum events_sncid {
17 	irq_disable_sncid = 0,
18 	irq_enable_sncid,
19 	schedule_entry_sncid,
20 	schedule_exit_sncid,
21 	event_max_sncid
22 };
23 
24 struct automaton_sncid {
25 	char *state_names[state_max_sncid];
26 	char *event_names[event_max_sncid];
27 	unsigned char function[state_max_sncid][event_max_sncid];
28 	unsigned char initial_state;
29 	bool final_states[state_max_sncid];
30 };
31 
32 static const struct automaton_sncid automaton_sncid = {
33 	.state_names = {
34 		"can_sched",
35 		"cant_sched"
36 	},
37 	.event_names = {
38 		"irq_disable",
39 		"irq_enable",
40 		"schedule_entry",
41 		"schedule_exit"
42 	},
43 	.function = {
44 		{ cant_sched_sncid,   INVALID_STATE, can_sched_sncid, can_sched_sncid },
45 		{    INVALID_STATE, can_sched_sncid,   INVALID_STATE,   INVALID_STATE },
46 	},
47 	.initial_state = can_sched_sncid,
48 	.final_states = { 1, 0 },
49 };
50