scripts: check_init_priorities: ignore zephyr,cdc-acm-uart

The new stack zephyr,cdc-acm-uart driver has two separate init path, one
of which kicks in before the USB stack to start buffering log messages.

This generates a false positive in the build time priority checking,
adding a check to ignore that compatible entirely.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
diff --git a/scripts/build/check_init_priorities.py b/scripts/build/check_init_priorities.py
index 2361616..444bb42 100755
--- a/scripts/build/check_init_priorities.py
+++ b/scripts/build/check_init_priorities.py
@@ -54,6 +54,14 @@
 # opposite of the device tree inferred dependency.
 _INVERTED_PRIORITY_COMPATIBLES = frozenset()
 
+# List of compatibles for nodes where we don't check the priority.
+_IGNORE_COMPATIBLES = frozenset([
+        # There is no direct dependency between the CDC ACM UART and the USB
+        # device controller, the logical connection is established after USB
+        # device support is enabled.
+        "zephyr,cdc-acm-uart",
+        ])
+
 class Priority:
     """Parses and holds a device initialization priority.
 
@@ -230,6 +238,12 @@
         dev_node = self._ord2node[dev_ord]
         dep_node = self._ord2node[dep_ord]
 
+        if dev_node._binding:
+            dev_compat = dev_node._binding.compatible
+            if dev_compat in _IGNORE_COMPATIBLES:
+                self.log.info(f"Ignoring priority: {dev_node._binding.compatible}")
+                return
+
         if dev_node._binding and dep_node._binding:
             dev_compat = dev_node._binding.compatible
             dep_compat = dep_node._binding.compatible