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