xref: /openbmc/linux/kernel/trace/rv/monitors/wwnr/wwnr.h (revision bfa87ac8)
1ccc319dcSDaniel Bristot de Oliveira /*
2ccc319dcSDaniel Bristot de Oliveira  * Automatically generated C representation of wwnr automaton
3ccc319dcSDaniel Bristot de Oliveira  * For further information about this format, see kernel documentation:
4ccc319dcSDaniel Bristot de Oliveira  *   Documentation/trace/rv/deterministic_automata.rst
5ccc319dcSDaniel Bristot de Oliveira  */
6ccc319dcSDaniel Bristot de Oliveira 
7ccc319dcSDaniel Bristot de Oliveira enum states_wwnr {
8ccc319dcSDaniel Bristot de Oliveira 	not_running_wwnr = 0,
9ccc319dcSDaniel Bristot de Oliveira 	running_wwnr,
10ccc319dcSDaniel Bristot de Oliveira 	state_max_wwnr
11ccc319dcSDaniel Bristot de Oliveira };
12ccc319dcSDaniel Bristot de Oliveira 
13ccc319dcSDaniel Bristot de Oliveira #define INVALID_STATE state_max_wwnr
14ccc319dcSDaniel Bristot de Oliveira 
15ccc319dcSDaniel Bristot de Oliveira enum events_wwnr {
16ccc319dcSDaniel Bristot de Oliveira 	switch_in_wwnr = 0,
17ccc319dcSDaniel Bristot de Oliveira 	switch_out_wwnr,
18ccc319dcSDaniel Bristot de Oliveira 	wakeup_wwnr,
19ccc319dcSDaniel Bristot de Oliveira 	event_max_wwnr
20ccc319dcSDaniel Bristot de Oliveira };
21ccc319dcSDaniel Bristot de Oliveira 
22ccc319dcSDaniel Bristot de Oliveira struct automaton_wwnr {
23ccc319dcSDaniel Bristot de Oliveira 	char *state_names[state_max_wwnr];
24ccc319dcSDaniel Bristot de Oliveira 	char *event_names[event_max_wwnr];
25ccc319dcSDaniel Bristot de Oliveira 	unsigned char function[state_max_wwnr][event_max_wwnr];
26ccc319dcSDaniel Bristot de Oliveira 	unsigned char initial_state;
27ccc319dcSDaniel Bristot de Oliveira 	bool final_states[state_max_wwnr];
28ccc319dcSDaniel Bristot de Oliveira };
29ccc319dcSDaniel Bristot de Oliveira 
30*bfa87ac8SAlessandro Carminati static const struct automaton_wwnr automaton_wwnr = {
31ccc319dcSDaniel Bristot de Oliveira 	.state_names = {
32ccc319dcSDaniel Bristot de Oliveira 		"not_running",
33ccc319dcSDaniel Bristot de Oliveira 		"running"
34ccc319dcSDaniel Bristot de Oliveira 	},
35ccc319dcSDaniel Bristot de Oliveira 	.event_names = {
36ccc319dcSDaniel Bristot de Oliveira 		"switch_in",
37ccc319dcSDaniel Bristot de Oliveira 		"switch_out",
38ccc319dcSDaniel Bristot de Oliveira 		"wakeup"
39ccc319dcSDaniel Bristot de Oliveira 	},
40ccc319dcSDaniel Bristot de Oliveira 	.function = {
41ccc319dcSDaniel Bristot de Oliveira 		{       running_wwnr,      INVALID_STATE,   not_running_wwnr },
42ccc319dcSDaniel Bristot de Oliveira 		{      INVALID_STATE,   not_running_wwnr,      INVALID_STATE },
43ccc319dcSDaniel Bristot de Oliveira 	},
44ccc319dcSDaniel Bristot de Oliveira 	.initial_state = not_running_wwnr,
45ccc319dcSDaniel Bristot de Oliveira 	.final_states = { 1, 0 },
46ccc319dcSDaniel Bristot de Oliveira };
47