1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Automatically generated C representation of scpd automaton 4 * For further information about this format, see kernel documentation: 5 * Documentation/trace/rv/deterministic_automata.rst 6 */ 7 8 enum states_scpd { 9 cant_sched_scpd = 0, 10 can_sched_scpd, 11 state_max_scpd 12 }; 13 14 #define INVALID_STATE state_max_scpd 15 16 enum events_scpd { 17 preempt_disable_scpd = 0, 18 preempt_enable_scpd, 19 schedule_entry_scpd, 20 schedule_exit_scpd, 21 event_max_scpd 22 }; 23 24 struct automaton_scpd { 25 char *state_names[state_max_scpd]; 26 char *event_names[event_max_scpd]; 27 unsigned char function[state_max_scpd][event_max_scpd]; 28 unsigned char initial_state; 29 bool final_states[state_max_scpd]; 30 }; 31 32 static const struct automaton_scpd automaton_scpd = { 33 .state_names = { 34 "cant_sched", 35 "can_sched" 36 }, 37 .event_names = { 38 "preempt_disable", 39 "preempt_enable", 40 "schedule_entry", 41 "schedule_exit" 42 }, 43 .function = { 44 { can_sched_scpd, INVALID_STATE, INVALID_STATE, INVALID_STATE }, 45 { INVALID_STATE, cant_sched_scpd, can_sched_scpd, can_sched_scpd }, 46 }, 47 .initial_state = cant_sched_scpd, 48 .final_states = { 1, 0 }, 49 }; 50