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