1digraph state_automaton { 2 center = true; 3 size = "7,11"; 4 {node [shape = plaintext, style=invis, label=""] "__init_disabled"}; 5 {node [shape = circle] "disabled"}; 6 {node [shape = doublecircle] "enabled"}; 7 {node [shape = circle] "enabled"}; 8 {node [shape = circle] "in_irq"}; 9 {node [shape = circle] "irq_disabled"}; 10 {node [shape = circle] "preempt_disabled"}; 11 "__init_disabled" -> "disabled"; 12 "disabled" [label = "disabled"]; 13 "disabled" -> "disabled" [ label = "sched_need_resched\nsched_waking\nirq_entry" ]; 14 "disabled" -> "irq_disabled" [ label = "preempt_enable" ]; 15 "disabled" -> "preempt_disabled" [ label = "irq_enable" ]; 16 "enabled" [label = "enabled", color = green3]; 17 "enabled" -> "enabled" [ label = "preempt_enable" ]; 18 "enabled" -> "irq_disabled" [ label = "irq_disable" ]; 19 "enabled" -> "preempt_disabled" [ label = "preempt_disable" ]; 20 "in_irq" [label = "in_irq"]; 21 "in_irq" -> "enabled" [ label = "irq_enable" ]; 22 "in_irq" -> "in_irq" [ label = "sched_need_resched\nsched_waking\nirq_entry" ]; 23 "irq_disabled" [label = "irq_disabled"]; 24 "irq_disabled" -> "disabled" [ label = "preempt_disable" ]; 25 "irq_disabled" -> "enabled" [ label = "irq_enable" ]; 26 "irq_disabled" -> "in_irq" [ label = "irq_entry" ]; 27 "irq_disabled" -> "irq_disabled" [ label = "sched_need_resched" ]; 28 "preempt_disabled" [label = "preempt_disabled"]; 29 "preempt_disabled" -> "disabled" [ label = "irq_disable" ]; 30 "preempt_disabled" -> "enabled" [ label = "preempt_enable" ]; 31 { rank = min ; 32 "__init_disabled"; 33 "disabled"; 34 } 35} 36