]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
verification/dot2c: Remove superfluous enum assignment and add last comma
authorGabriele Monaco <gmonaco@redhat.com>
Wed, 26 Nov 2025 10:42:38 +0000 (11:42 +0100)
committerGabriele Monaco <gmonaco@redhat.com>
Mon, 12 Jan 2026 06:43:50 +0000 (07:43 +0100)
The header files generated by dot2c currently create enums for states
and events assigning the first element to 0. This is superfluous as it
happens automatically if no value is specified.
Also it doesn't add a comma to the last enum elements, which slightly
complicates the diff if states or events are added.

Remove the assignment to 0 and add a comma to last elements, this
simplifies the logic for the code generator.

Reviewed-by: Nam Cao <namcao@linutronix.de>
Link: https://lore.kernel.org/r/20251126104241.291258-8-gmonaco@redhat.com
Signed-off-by: Gabriele Monaco <gmonaco@redhat.com>
kernel/trace/rv/monitors/nrp/nrp.h
kernel/trace/rv/monitors/opid/opid.h
kernel/trace/rv/monitors/sco/sco.h
kernel/trace/rv/monitors/scpd/scpd.h
kernel/trace/rv/monitors/snep/snep.h
kernel/trace/rv/monitors/snroc/snroc.h
kernel/trace/rv/monitors/sssw/sssw.h
kernel/trace/rv/monitors/sts/sts.h
kernel/trace/rv/monitors/wip/wip.h
kernel/trace/rv/monitors/wwnr/wwnr.h
tools/verification/rvgen/rvgen/dot2c.py

index c2ec83da21245a8b16bd6c4049267de5f4dcc79a..3270d4c0139fd73c13a359db487ea8fda7ba0ae8 100644 (file)
@@ -8,21 +8,21 @@
 #define MONITOR_NAME nrp
 
 enum states_nrp {
-       preempt_irq_nrp = 0,
+       preempt_irq_nrp,
        any_thread_running_nrp,
        nested_preempt_nrp,
        rescheduling_nrp,
-       state_max_nrp
+       state_max_nrp,
 };
 
 #define INVALID_STATE state_max_nrp
 
 enum events_nrp {
-       irq_entry_nrp = 0,
+       irq_entry_nrp,
        sched_need_resched_nrp,
        schedule_entry_nrp,
        schedule_entry_preempt_nrp,
-       event_max_nrp
+       event_max_nrp,
 };
 
 struct automaton_nrp {
@@ -38,38 +38,38 @@ static const struct automaton_nrp automaton_nrp = {
                "preempt_irq",
                "any_thread_running",
                "nested_preempt",
-               "rescheduling"
+               "rescheduling",
        },
        .event_names = {
                "irq_entry",
                "sched_need_resched",
                "schedule_entry",
-               "schedule_entry_preempt"
+               "schedule_entry_preempt",
        },
        .function = {
                {
                        preempt_irq_nrp,
                        preempt_irq_nrp,
                        nested_preempt_nrp,
-                       nested_preempt_nrp
+                       nested_preempt_nrp,
                },
                {
                        any_thread_running_nrp,
                        rescheduling_nrp,
                        any_thread_running_nrp,
-                       INVALID_STATE
+                       INVALID_STATE,
                },
                {
                        nested_preempt_nrp,
                        preempt_irq_nrp,
                        any_thread_running_nrp,
-                       any_thread_running_nrp
+                       any_thread_running_nrp,
                },
                {
                        preempt_irq_nrp,
                        rescheduling_nrp,
                        any_thread_running_nrp,
-                       any_thread_running_nrp
+                       any_thread_running_nrp,
                },
        },
        .initial_state = preempt_irq_nrp,
index 5014f1b85ecf14668a4c9eee44e0c49bc901808d..09299251497095a9a754a3b55483e042b051c3ed 100644 (file)
@@ -8,25 +8,25 @@
 #define MONITOR_NAME opid
 
 enum states_opid {
-       disabled_opid = 0,
+       disabled_opid,
        enabled_opid,
        in_irq_opid,
        irq_disabled_opid,
        preempt_disabled_opid,
-       state_max_opid
+       state_max_opid,
 };
 
 #define INVALID_STATE state_max_opid
 
 enum events_opid {
-       irq_disable_opid = 0,
+       irq_disable_opid,
        irq_enable_opid,
        irq_entry_opid,
        preempt_disable_opid,
        preempt_enable_opid,
        sched_need_resched_opid,
        sched_waking_opid,
-       event_max_opid
+       event_max_opid,
 };
 
 struct automaton_opid {
@@ -43,7 +43,7 @@ static const struct automaton_opid automaton_opid = {
                "enabled",
                "in_irq",
                "irq_disabled",
-               "preempt_disabled"
+               "preempt_disabled",
        },
        .event_names = {
                "irq_disable",
@@ -52,7 +52,7 @@ static const struct automaton_opid automaton_opid = {
                "preempt_disable",
                "preempt_enable",
                "sched_need_resched",
-               "sched_waking"
+               "sched_waking",
        },
        .function = {
                {
@@ -62,7 +62,7 @@ static const struct automaton_opid automaton_opid = {
                        INVALID_STATE,
                        irq_disabled_opid,
                        disabled_opid,
-                       disabled_opid
+                       disabled_opid,
                },
                {
                        irq_disabled_opid,
@@ -71,7 +71,7 @@ static const struct automaton_opid automaton_opid = {
                        preempt_disabled_opid,
                        enabled_opid,
                        INVALID_STATE,
-                       INVALID_STATE
+                       INVALID_STATE,
                },
                {
                        INVALID_STATE,
@@ -80,7 +80,7 @@ static const struct automaton_opid automaton_opid = {
                        INVALID_STATE,
                        INVALID_STATE,
                        in_irq_opid,
-                       in_irq_opid
+                       in_irq_opid,
                },
                {
                        INVALID_STATE,
@@ -89,7 +89,7 @@ static const struct automaton_opid automaton_opid = {
                        disabled_opid,
                        INVALID_STATE,
                        irq_disabled_opid,
-                       INVALID_STATE
+                       INVALID_STATE,
                },
                {
                        disabled_opid,
@@ -98,7 +98,7 @@ static const struct automaton_opid automaton_opid = {
                        INVALID_STATE,
                        enabled_opid,
                        INVALID_STATE,
-                       INVALID_STATE
+                       INVALID_STATE,
                },
        },
        .initial_state = disabled_opid,
index 06b1c420ce549e5ea0104c96ce4487164fee8abf..bac3beb51e7225808b53d6cf0056b5422f962e20 100644 (file)
@@ -8,18 +8,18 @@
 #define MONITOR_NAME sco
 
 enum states_sco {
-       thread_context_sco = 0,
+       thread_context_sco,
        scheduling_context_sco,
-       state_max_sco
+       state_max_sco,
 };
 
 #define INVALID_STATE state_max_sco
 
 enum events_sco {
-       sched_set_state_sco = 0,
+       sched_set_state_sco,
        schedule_entry_sco,
        schedule_exit_sco,
-       event_max_sco
+       event_max_sco,
 };
 
 struct automaton_sco {
@@ -33,12 +33,12 @@ struct automaton_sco {
 static const struct automaton_sco automaton_sco = {
        .state_names = {
                "thread_context",
-               "scheduling_context"
+               "scheduling_context",
        },
        .event_names = {
                "sched_set_state",
                "schedule_entry",
-               "schedule_exit"
+               "schedule_exit",
        },
        .function = {
                {     thread_context_sco, scheduling_context_sco,          INVALID_STATE },
index 4a725a68085a07496d925922b22526be9948283e..d6329da2671b4fe9f255f28dc8a71c24c903f554 100644 (file)
@@ -8,19 +8,19 @@
 #define MONITOR_NAME scpd
 
 enum states_scpd {
-       cant_sched_scpd = 0,
+       cant_sched_scpd,
        can_sched_scpd,
-       state_max_scpd
+       state_max_scpd,
 };
 
 #define INVALID_STATE state_max_scpd
 
 enum events_scpd {
-       preempt_disable_scpd = 0,
+       preempt_disable_scpd,
        preempt_enable_scpd,
        schedule_entry_scpd,
        schedule_exit_scpd,
-       event_max_scpd
+       event_max_scpd,
 };
 
 struct automaton_scpd {
@@ -34,13 +34,13 @@ struct automaton_scpd {
 static const struct automaton_scpd automaton_scpd = {
        .state_names = {
                "cant_sched",
-               "can_sched"
+               "can_sched",
        },
        .event_names = {
                "preempt_disable",
                "preempt_enable",
                "schedule_entry",
-               "schedule_exit"
+               "schedule_exit",
        },
        .function = {
                {     can_sched_scpd,     INVALID_STATE,     INVALID_STATE,     INVALID_STATE },
index 753080dc5fa1b2acc1af57e9f9a195c6fad3707a..357520a5b3d16860095c00e989cb6d27d3a71eee 100644 (file)
@@ -8,19 +8,19 @@
 #define MONITOR_NAME snep
 
 enum states_snep {
-       non_scheduling_context_snep = 0,
+       non_scheduling_context_snep,
        scheduling_contex_snep,
-       state_max_snep
+       state_max_snep,
 };
 
 #define INVALID_STATE state_max_snep
 
 enum events_snep {
-       preempt_disable_snep = 0,
+       preempt_disable_snep,
        preempt_enable_snep,
        schedule_entry_snep,
        schedule_exit_snep,
-       event_max_snep
+       event_max_snep,
 };
 
 struct automaton_snep {
@@ -34,26 +34,26 @@ struct automaton_snep {
 static const struct automaton_snep automaton_snep = {
        .state_names = {
                "non_scheduling_context",
-               "scheduling_contex"
+               "scheduling_contex",
        },
        .event_names = {
                "preempt_disable",
                "preempt_enable",
                "schedule_entry",
-               "schedule_exit"
+               "schedule_exit",
        },
        .function = {
                {
                        non_scheduling_context_snep,
                        non_scheduling_context_snep,
                        scheduling_contex_snep,
-                       INVALID_STATE
+                       INVALID_STATE,
                },
                {
                        INVALID_STATE,
                        INVALID_STATE,
                        INVALID_STATE,
-                       non_scheduling_context_snep
+                       non_scheduling_context_snep,
                },
        },
        .initial_state = non_scheduling_context_snep,
index ada5ee08bdab7c038f401095d00834c85a70697e..88b7328ad31a4c69a030695fecd26e0bcd851951 100644 (file)
@@ -8,18 +8,18 @@
 #define MONITOR_NAME snroc
 
 enum states_snroc {
-       other_context_snroc = 0,
+       other_context_snroc,
        own_context_snroc,
-       state_max_snroc
+       state_max_snroc,
 };
 
 #define INVALID_STATE state_max_snroc
 
 enum events_snroc {
-       sched_set_state_snroc = 0,
+       sched_set_state_snroc,
        sched_switch_in_snroc,
        sched_switch_out_snroc,
-       event_max_snroc
+       event_max_snroc,
 };
 
 struct automaton_snroc {
@@ -33,12 +33,12 @@ struct automaton_snroc {
 static const struct automaton_snroc automaton_snroc = {
        .state_names = {
                "other_context",
-               "own_context"
+               "own_context",
        },
        .event_names = {
                "sched_set_state",
                "sched_switch_in",
-               "sched_switch_out"
+               "sched_switch_out",
        },
        .function = {
                {      INVALID_STATE,  own_context_snroc,       INVALID_STATE },
index 8409eaadc7e0030c5a0d596ead368ce710e29412..1a4b806061c38037d857c1c54dcc4fc195cf0c6b 100644 (file)
@@ -8,17 +8,17 @@
 #define MONITOR_NAME sssw
 
 enum states_sssw {
-       runnable_sssw = 0,
+       runnable_sssw,
        signal_wakeup_sssw,
        sleepable_sssw,
        sleeping_sssw,
-       state_max_sssw
+       state_max_sssw,
 };
 
 #define INVALID_STATE state_max_sssw
 
 enum events_sssw {
-       sched_set_state_runnable_sssw = 0,
+       sched_set_state_runnable_sssw,
        sched_set_state_sleepable_sssw,
        sched_switch_blocking_sssw,
        sched_switch_in_sssw,
@@ -27,7 +27,7 @@ enum events_sssw {
        sched_switch_yield_sssw,
        sched_wakeup_sssw,
        signal_deliver_sssw,
-       event_max_sssw
+       event_max_sssw,
 };
 
 struct automaton_sssw {
@@ -43,7 +43,7 @@ static const struct automaton_sssw automaton_sssw = {
                "runnable",
                "signal_wakeup",
                "sleepable",
-               "sleeping"
+               "sleeping",
        },
        .event_names = {
                "sched_set_state_runnable",
@@ -54,7 +54,7 @@ static const struct automaton_sssw automaton_sssw = {
                "sched_switch_suspend",
                "sched_switch_yield",
                "sched_wakeup",
-               "signal_deliver"
+               "signal_deliver",
        },
        .function = {
                {
@@ -66,7 +66,7 @@ static const struct automaton_sssw automaton_sssw = {
                        INVALID_STATE,
                        runnable_sssw,
                        runnable_sssw,
-                       runnable_sssw
+                       runnable_sssw,
                },
                {
                        INVALID_STATE,
@@ -77,7 +77,7 @@ static const struct automaton_sssw automaton_sssw = {
                        INVALID_STATE,
                        signal_wakeup_sssw,
                        signal_wakeup_sssw,
-                       runnable_sssw
+                       runnable_sssw,
                },
                {
                        runnable_sssw,
@@ -88,7 +88,7 @@ static const struct automaton_sssw automaton_sssw = {
                        sleeping_sssw,
                        signal_wakeup_sssw,
                        runnable_sssw,
-                       sleepable_sssw
+                       sleepable_sssw,
                },
                {
                        INVALID_STATE,
@@ -99,7 +99,7 @@ static const struct automaton_sssw automaton_sssw = {
                        INVALID_STATE,
                        INVALID_STATE,
                        runnable_sssw,
-                       INVALID_STATE
+                       INVALID_STATE,
                },
        },
        .initial_state = runnable_sssw,
index 3779d7f99404200d79c240494792fc2eaaaf587e..6f7b2d9d72e6a57e3d1886f8b0d746004ef0c2f8 100644 (file)
@@ -8,26 +8,26 @@
 #define MONITOR_NAME sts
 
 enum states_sts {
-       can_sched_sts = 0,
+       can_sched_sts,
        cant_sched_sts,
        disable_to_switch_sts,
        enable_to_exit_sts,
        in_irq_sts,
        scheduling_sts,
        switching_sts,
-       state_max_sts
+       state_max_sts,
 };
 
 #define INVALID_STATE state_max_sts
 
 enum events_sts {
-       irq_disable_sts = 0,
+       irq_disable_sts,
        irq_enable_sts,
        irq_entry_sts,
        sched_switch_sts,
        schedule_entry_sts,
        schedule_exit_sts,
-       event_max_sts
+       event_max_sts,
 };
 
 struct automaton_sts {
@@ -46,7 +46,7 @@ static const struct automaton_sts automaton_sts = {
                "enable_to_exit",
                "in_irq",
                "scheduling",
-               "switching"
+               "switching",
        },
        .event_names = {
                "irq_disable",
@@ -54,7 +54,7 @@ static const struct automaton_sts automaton_sts = {
                "irq_entry",
                "sched_switch",
                "schedule_entry",
-               "schedule_exit"
+               "schedule_exit",
        },
        .function = {
                {
@@ -63,7 +63,7 @@ static const struct automaton_sts automaton_sts = {
                        INVALID_STATE,
                        INVALID_STATE,
                        scheduling_sts,
-                       INVALID_STATE
+                       INVALID_STATE,
                },
                {
                        INVALID_STATE,
@@ -71,7 +71,7 @@ static const struct automaton_sts automaton_sts = {
                        cant_sched_sts,
                        INVALID_STATE,
                        INVALID_STATE,
-                       INVALID_STATE
+                       INVALID_STATE,
                },
                {
                        INVALID_STATE,
@@ -79,7 +79,7 @@ static const struct automaton_sts automaton_sts = {
                        in_irq_sts,
                        switching_sts,
                        INVALID_STATE,
-                       INVALID_STATE
+                       INVALID_STATE,
                },
                {
                        enable_to_exit_sts,
@@ -87,7 +87,7 @@ static const struct automaton_sts automaton_sts = {
                        enable_to_exit_sts,
                        INVALID_STATE,
                        INVALID_STATE,
-                       can_sched_sts
+                       can_sched_sts,
                },
                {
                        INVALID_STATE,
@@ -95,7 +95,7 @@ static const struct automaton_sts automaton_sts = {
                        in_irq_sts,
                        INVALID_STATE,
                        INVALID_STATE,
-                       INVALID_STATE
+                       INVALID_STATE,
                },
                {
                        disable_to_switch_sts,
@@ -103,7 +103,7 @@ static const struct automaton_sts automaton_sts = {
                        INVALID_STATE,
                        INVALID_STATE,
                        INVALID_STATE,
-                       INVALID_STATE
+                       INVALID_STATE,
                },
                {
                        INVALID_STATE,
@@ -111,7 +111,7 @@ static const struct automaton_sts automaton_sts = {
                        INVALID_STATE,
                        INVALID_STATE,
                        INVALID_STATE,
-                       INVALID_STATE
+                       INVALID_STATE,
                },
        },
        .initial_state = can_sched_sts,
index cfdc52975354441ccf301f7b9adedc945933b013..b4c3eea94c867da2a9fff29e80f17e7ca7c6750d 100644 (file)
@@ -8,18 +8,18 @@
 #define MONITOR_NAME wip
 
 enum states_wip {
-       preemptive_wip = 0,
+       preemptive_wip,
        non_preemptive_wip,
-       state_max_wip
+       state_max_wip,
 };
 
 #define INVALID_STATE state_max_wip
 
 enum events_wip {
-       preempt_disable_wip = 0,
+       preempt_disable_wip,
        preempt_enable_wip,
        sched_waking_wip,
-       event_max_wip
+       event_max_wip,
 };
 
 struct automaton_wip {
@@ -33,12 +33,12 @@ struct automaton_wip {
 static const struct automaton_wip automaton_wip = {
        .state_names = {
                "preemptive",
-               "non_preemptive"
+               "non_preemptive",
        },
        .event_names = {
                "preempt_disable",
                "preempt_enable",
-               "sched_waking"
+               "sched_waking",
        },
        .function = {
                { non_preemptive_wip,      INVALID_STATE,      INVALID_STATE },
index 85d12e42a9557780cb7ff1be0916136978946d80..a28006512c9b1d8c3887c8f705569210e69a4b7c 100644 (file)
@@ -8,18 +8,18 @@
 #define MONITOR_NAME wwnr
 
 enum states_wwnr {
-       not_running_wwnr = 0,
+       not_running_wwnr,
        running_wwnr,
-       state_max_wwnr
+       state_max_wwnr,
 };
 
 #define INVALID_STATE state_max_wwnr
 
 enum events_wwnr {
-       switch_in_wwnr = 0,
+       switch_in_wwnr,
        switch_out_wwnr,
        wakeup_wwnr,
-       event_max_wwnr
+       event_max_wwnr,
 };
 
 struct automaton_wwnr {
@@ -33,12 +33,12 @@ struct automaton_wwnr {
 static const struct automaton_wwnr automaton_wwnr = {
        .state_names = {
                "not_running",
-               "running"
+               "running",
        },
        .event_names = {
                "switch_in",
                "switch_out",
-               "wakeup"
+               "wakeup",
        },
        .function = {
                {       running_wwnr,      INVALID_STATE,   not_running_wwnr },
index 24894411c3cdffae0f151bf702620efd9456ee75..06a26bf15a7e9447382073ba69b795abb7520d17 100644 (file)
@@ -28,11 +28,11 @@ class Dot2c(Automata):
 
     def __get_enum_states_content(self) -> list[str]:
         buff = []
-        buff.append("\t%s%s = 0," % (self.initial_state, self.enum_suffix))
+        buff.append("\t%s%s," % (self.initial_state, self.enum_suffix))
         for state in self.states:
             if state != self.initial_state:
                 buff.append("\t%s%s," % (state, self.enum_suffix))
-        buff.append("\tstate_max%s" % (self.enum_suffix))
+        buff.append("\tstate_max%s," % (self.enum_suffix))
 
         return buff
 
@@ -46,15 +46,10 @@ class Dot2c(Automata):
 
     def __get_enum_events_content(self) -> list[str]:
         buff = []
-        first = True
         for event in self.events:
-            if first:
-                buff.append("\t%s%s = 0," % (event, self.enum_suffix))
-                first = False
-            else:
-                buff.append("\t%s%s," % (event, self.enum_suffix))
+            buff.append("\t%s%s," % (event, self.enum_suffix))
 
-        buff.append("\tevent_max%s" % self.enum_suffix)
+        buff.append("\tevent_max%s," % self.enum_suffix)
 
         return buff
 
@@ -97,18 +92,11 @@ class Dot2c(Automata):
         buff.append("static const struct %s %s = {" % (self.struct_automaton_def, self.var_automaton_def))
         return buff
 
-    def __get_string_vector_per_line_content(self, buff: list[str]) -> str:
-        first = True
-        string = ""
-        for entry in buff:
-            if first:
-                string = string + "\t\t\"" + entry
-                first = False;
-            else:
-                string = string + "\",\n\t\t\"" + entry
-        string = string + "\""
-
-        return string
+    def __get_string_vector_per_line_content(self, entries: list[str]) -> str:
+        buff = []
+        for entry in entries:
+            buff.append(f"\t\t\"{entry}\",")
+        return "\n".join(buff)
 
     def format_aut_init_events_string(self) -> list[str]:
         buff = []
@@ -152,7 +140,7 @@ class Dot2c(Automata):
                 if y != nr_events-1:
                     line += ",\n" if linetoolong else ", "
                 else:
-                    line += "\n\t\t}," if linetoolong else " },"
+                    line += ",\n\t\t}," if linetoolong else " },"
             buff.append(line)
 
         return '\n'.join(buff)
@@ -179,12 +167,12 @@ class Dot2c(Automata):
         line = ""
         first = True
         for state in self.states:
-            if first == False:
+            if not first:
                 line = line + ', '
             else:
                 first = False
 
-            if self.final_states.__contains__(state):
+            if state in self.final_states:
                 line = line + '1'
             else:
                 line = line + '0'