]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
dtoc: Output the device in a separate function
authorSimon Glass <sjg@chromium.org>
Wed, 23 Dec 2020 15:11:21 +0000 (08:11 -0700)
committerSimon Glass <sjg@chromium.org>
Tue, 5 Jan 2021 19:24:41 +0000 (12:24 -0700)
Reduce the length of output_node() by moving the device-output
functionality into a separate function.

Signed-off-by: Simon Glass <sjg@chromium.org>
tools/dtoc/dtb_platdata.py

index 372f756037ee268d83e4a39602125859f0e24089..2d701ac24da4fd240df02597bbd22059373d98cb 100644 (file)
@@ -631,6 +631,27 @@ class DtbPlatdata():
                 self.buf(', '.join(vals[i:i + 8]))
         self.buf('}')
 
+    def _declare_device(self, var_name, struct_name, node_parent):
+        """Add a device declaration to the output
+
+        This declares a U_BOOT_DEVICE() for the device being processed
+
+        Args:
+            var_name (str): C name for the node
+            struct_name (str): Name for the dt struct associated with the node
+            node_parent (Node): Parent of the node (or None if none)
+        """
+        self.buf('U_BOOT_DEVICE(%s) = {\n' % var_name)
+        self.buf('\t.name\t\t= "%s",\n' % struct_name)
+        self.buf('\t.plat\t= &%s%s,\n' % (VAL_PREFIX, var_name))
+        self.buf('\t.plat_size\t= sizeof(%s%s),\n' % (VAL_PREFIX, var_name))
+        idx = -1
+        if node_parent and node_parent in self._valid_nodes:
+            idx = node_parent.idx
+        self.buf('\t.parent_idx\t= %d,\n' % idx)
+        self.buf('};\n')
+        self.buf('\n')
+
     def output_node(self, node):
         """Output the C code for a node
 
@@ -657,17 +678,7 @@ class DtbPlatdata():
             self.buf(',\n')
         self.buf('};\n')
 
-        # Add a device declaration
-        self.buf('U_BOOT_DEVICE(%s) = {\n' % var_name)
-        self.buf('\t.name\t\t= "%s",\n' % struct_name)
-        self.buf('\t.plat\t= &%s%s,\n' % (VAL_PREFIX, var_name))
-        self.buf('\t.plat_size\t= sizeof(%s%s),\n' % (VAL_PREFIX, var_name))
-        idx = -1
-        if node.parent and node.parent in self._valid_nodes:
-            idx = node.parent.idx
-        self.buf('\t.parent_idx\t= %d,\n' % idx)
-        self.buf('};\n')
-        self.buf('\n')
+        self._declare_device(var_name, struct_name, node.parent)
 
         self.out(''.join(self.get_buf()))