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 #define MONITOR_NAME scpd 9 10 enum states_scpd { 11 cant_sched_scpd, 12 can_sched_scpd, 13 state_max_scpd, 14 }; 15 16 #define INVALID_STATE state_max_scpd 17 18 enum events_scpd { 19 preempt_disable_scpd, 20 preempt_enable_scpd, 21 schedule_entry_scpd, 22 schedule_exit_scpd, 23 event_max_scpd, 24 }; 25 26 struct automaton_scpd { 27 char *state_names[state_max_scpd]; 28 char *event_names[event_max_scpd]; 29 unsigned char function[state_max_scpd][event_max_scpd]; 30 unsigned char initial_state; 31 bool final_states[state_max_scpd]; 32 }; 33 34 static const struct automaton_scpd automaton_scpd = { 35 .state_names = { 36 "cant_sched", 37 "can_sched", 38 }, 39 .event_names = { 40 "preempt_disable", 41 "preempt_enable", 42 "schedule_entry", 43 "schedule_exit", 44 }, 45 .function = { 46 { can_sched_scpd, INVALID_STATE, INVALID_STATE, INVALID_STATE }, 47 { INVALID_STATE, cant_sched_scpd, can_sched_scpd, can_sched_scpd }, 48 }, 49 .initial_state = cant_sched_scpd, 50 .final_states = { 1, 0 }, 51 }; 52