<p>Philipp Deppenwiese <strong>merged</strong> this change.</p><p><a href="https://review.coreboot.org/28267">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  build bot (Jenkins): Verified
  Paul Menzel: Looks good to me, but someone else must approve
  Julius Werner: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">device_tree/fit: Constify data structures<br><br>* Add const quailifier to arguments and elements.<br>* Add casts where necessary in cn81xx/soc.<br><br>Tested on Cavium CN81xx EVB SFF.<br><br>Change-Id: Id27966427fb97457fe883be32685d1397fb0781f<br>Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com><br>Reviewed-on: https://review.coreboot.org/28267<br>Tested-by: build bot (Jenkins) <no-reply@coreboot.org><br>Reviewed-by: Julius Werner <jwerner@chromium.org><br>Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net><br>---<br>M src/include/device_tree.h<br>M src/include/fit.h<br>M src/lib/device_tree.c<br>M src/lib/fit.c<br>M src/lib/fit_payload.c<br>M src/soc/cavium/cn81xx/soc.c<br>6 files changed, 75 insertions(+), 64 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/include/device_tree.h b/src/include/device_tree.h</span><br><span>index 4c1a37c..14be832 100644</span><br><span>--- a/src/include/device_tree.h</span><br><span>+++ b/src/include/device_tree.h</span><br><span>@@ -50,7 +50,7 @@</span><br><span> struct fdt_property</span><br><span> {</span><br><span>       const char *name;</span><br><span style="color: hsl(0, 100%, 40%);">-       void *data;</span><br><span style="color: hsl(120, 100%, 40%);">+   const void *data;</span><br><span>    uint32_t size;</span><br><span> };</span><br><span> </span><br><span>@@ -88,7 +88,7 @@</span><br><span> </span><br><span> struct device_tree</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-     void *header;</span><br><span style="color: hsl(120, 100%, 40%);">+ const void *header;</span><br><span>  uint32_t header_size;</span><br><span> </span><br><span>    struct list_node reserve_map;</span><br><span>@@ -104,17 +104,18 @@</span><br><span>  */</span><br><span> </span><br><span> // Read the property, if any, at offset offset.</span><br><span style="color: hsl(0, 100%, 40%);">-int fdt_next_property(void *blob, uint32_t offset, struct fdt_property *prop);</span><br><span style="color: hsl(120, 100%, 40%);">+int fdt_next_property(const void *blob, uint32_t offset,</span><br><span style="color: hsl(120, 100%, 40%);">+                 struct fdt_property *prop);</span><br><span> // Read the name of the node, if any, at offset offset.</span><br><span style="color: hsl(0, 100%, 40%);">-int fdt_node_name(void *blob, uint32_t offset, const char **name);</span><br><span style="color: hsl(120, 100%, 40%);">+int fdt_node_name(const void *blob, uint32_t offset, const char **name);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void fdt_print_node(void *blob, uint32_t offset);</span><br><span style="color: hsl(0, 100%, 40%);">-int fdt_skip_node(void *blob, uint32_t offset);</span><br><span style="color: hsl(120, 100%, 40%);">+void fdt_print_node(const void *blob, uint32_t offset);</span><br><span style="color: hsl(120, 100%, 40%);">+int fdt_skip_node(const void *blob, uint32_t offset);</span><br><span> </span><br><span> // Read a flattened device tree into a heirarchical structure which refers to</span><br><span> // the contents of the flattened tree in place. Modifying the flat tree</span><br><span> // invalidates the unflattened one.</span><br><span style="color: hsl(0, 100%, 40%);">-struct device_tree *fdt_unflatten(void *blob);</span><br><span style="color: hsl(120, 100%, 40%);">+struct device_tree *fdt_unflatten(const void *blob);</span><br><span> </span><br><span> </span><br><span> </span><br><span>@@ -123,12 +124,13 @@</span><br><span>  */</span><br><span> </span><br><span> // Figure out how big a device tree would be if it were flattened.</span><br><span style="color: hsl(0, 100%, 40%);">-uint32_t dt_flat_size(struct device_tree *tree);</span><br><span style="color: hsl(120, 100%, 40%);">+uint32_t dt_flat_size(const struct device_tree *tree);</span><br><span> // Flatten a device tree into the buffer pointed to by dest.</span><br><span style="color: hsl(0, 100%, 40%);">-void dt_flatten(struct device_tree *tree, void *dest);</span><br><span style="color: hsl(0, 100%, 40%);">-void dt_print_node(struct device_tree_node *node);</span><br><span style="color: hsl(120, 100%, 40%);">+void dt_flatten(const struct device_tree *tree, void *dest);</span><br><span style="color: hsl(120, 100%, 40%);">+void dt_print_node(const struct device_tree_node *node);</span><br><span> // Read #address-cells and #size-cells properties from a node.</span><br><span style="color: hsl(0, 100%, 40%);">-void dt_read_cell_props(struct device_tree_node *node, u32 *addrcp, u32 *sizecp);</span><br><span style="color: hsl(120, 100%, 40%);">+void dt_read_cell_props(const struct device_tree_node *node, u32 *addrcp,</span><br><span style="color: hsl(120, 100%, 40%);">+                    u32 *sizecp);</span><br><span> // Look up or create a node relative to a parent node, through its path</span><br><span> // represented as an array of strings.</span><br><span> struct device_tree_node *dt_find_node(struct device_tree_node *parent, const char **path,</span><br><span>@@ -148,15 +150,16 @@</span><br><span> struct device_tree_node *dt_find_prop_value(struct device_tree_node *parent, const char *name,</span><br><span>                               void *data, size_t size);</span><br><span> // Return the phandle</span><br><span style="color: hsl(0, 100%, 40%);">-uint32_t dt_get_phandle(struct device_tree_node *node);</span><br><span style="color: hsl(120, 100%, 40%);">+uint32_t dt_get_phandle(const struct device_tree_node *node);</span><br><span> // Write src into *dest as a 'length'-byte big-endian integer.</span><br><span> void dt_write_int(u8 *dest, u64 src, size_t length);</span><br><span> // Delete a property</span><br><span> void dt_delete_prop(struct device_tree_node *node, const char *name);</span><br><span> // Add different kinds of properties to a node, or update existing ones.</span><br><span style="color: hsl(0, 100%, 40%);">-void dt_add_bin_prop(struct device_tree_node *node, const char *name, void *data,</span><br><span style="color: hsl(0, 100%, 40%);">-                  size_t size);</span><br><span style="color: hsl(0, 100%, 40%);">-void dt_add_string_prop(struct device_tree_node *node, const char *name, char *str);</span><br><span style="color: hsl(120, 100%, 40%);">+void dt_add_bin_prop(struct device_tree_node *node, const char *name,</span><br><span style="color: hsl(120, 100%, 40%);">+              const void *data, size_t size);</span><br><span style="color: hsl(120, 100%, 40%);">+void dt_add_string_prop(struct device_tree_node *node, const char *name,</span><br><span style="color: hsl(120, 100%, 40%);">+                        const char *str);</span><br><span> void dt_add_u32_prop(struct device_tree_node *node, const char *name, u32 val);</span><br><span> void dt_add_u64_prop(struct device_tree_node *node, const char *name, u64 val);</span><br><span> void dt_add_reg_prop(struct device_tree_node *node, u64 *addrs, u64 *sizes,</span><br><span>@@ -164,9 +167,10 @@</span><br><span> int dt_set_bin_prop_by_path(struct device_tree *tree, const char *path,</span><br><span>                         void *data, size_t size, int create);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void dt_find_bin_prop(struct device_tree_node *node, const char *name, void **data,</span><br><span style="color: hsl(0, 100%, 40%);">-                      size_t *size);</span><br><span style="color: hsl(0, 100%, 40%);">-const char *dt_find_string_prop(struct device_tree_node *node, const char *name);</span><br><span style="color: hsl(120, 100%, 40%);">+void dt_find_bin_prop(const struct device_tree_node *node, const char *name,</span><br><span style="color: hsl(120, 100%, 40%);">+                 const void **data, size_t *size);</span><br><span style="color: hsl(120, 100%, 40%);">+const char *dt_find_string_prop(const struct device_tree_node *node,</span><br><span style="color: hsl(120, 100%, 40%);">+                         const char *name);</span><br><span> </span><br><span> /*</span><br><span>  * Fixups to apply to a kernel's device tree before booting it.</span><br><span>diff --git a/src/include/fit.h b/src/include/fit.h</span><br><span>index eb51b50..6e0667f 100644</span><br><span>--- a/src/include/fit.h</span><br><span>+++ b/src/include/fit.h</span><br><span>@@ -27,7 +27,7 @@</span><br><span> struct fit_image_node</span><br><span> {</span><br><span>       const char *name;</span><br><span style="color: hsl(0, 100%, 40%);">-       void *data;</span><br><span style="color: hsl(120, 100%, 40%);">+   const void *data;</span><br><span>    uint32_t size;</span><br><span>       int compression;</span><br><span> </span><br><span>@@ -54,7 +54,7 @@</span><br><span> /*</span><br><span>  * Updates the cmdline in the devicetree.</span><br><span>  */</span><br><span style="color: hsl(0, 100%, 40%);">-void fit_update_chosen(struct device_tree *tree, char *cmd_line);</span><br><span style="color: hsl(120, 100%, 40%);">+void fit_update_chosen(struct device_tree *tree, const char *cmd_line);</span><br><span> </span><br><span> /*</span><br><span>  * Add a compat string to the list of supported board ids.</span><br><span>diff --git a/src/lib/device_tree.c b/src/lib/device_tree.c</span><br><span>index 89387ff..79561a6 100644</span><br><span>--- a/src/lib/device_tree.c</span><br><span>+++ b/src/lib/device_tree.c</span><br><span>@@ -28,7 +28,8 @@</span><br><span>  * Functions for picking apart flattened trees.</span><br><span>  */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-int fdt_next_property(void *blob, uint32_t offset, struct fdt_property *prop)</span><br><span style="color: hsl(120, 100%, 40%);">+int fdt_next_property(const void *blob, uint32_t offset,</span><br><span style="color: hsl(120, 100%, 40%);">+                      struct fdt_property *prop)</span><br><span> {</span><br><span>        struct fdt_header *header = (struct fdt_header *)blob;</span><br><span>       uint32_t *ptr = (uint32_t *)(((uint8_t *)blob) + offset);</span><br><span>@@ -52,7 +53,7 @@</span><br><span>        return index * sizeof(uint32_t);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-int fdt_node_name(void *blob, uint32_t offset, const char **name)</span><br><span style="color: hsl(120, 100%, 40%);">+int fdt_node_name(const void *blob, uint32_t offset, const char **name)</span><br><span> {</span><br><span>     uint8_t *ptr = ((uint8_t *)blob) + offset;</span><br><span>   if (be32toh(*(uint32_t *)ptr) != FDT_TOKEN_BEGIN_NODE)</span><br><span>@@ -76,7 +77,7 @@</span><br><span>           printk(BIOS_DEBUG, "  ");</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static void print_property(struct fdt_property *prop, int depth)</span><br><span style="color: hsl(120, 100%, 40%);">+static void print_property(const struct fdt_property *prop, int depth)</span><br><span> {</span><br><span>    print_indent(depth);</span><br><span>         printk(BIOS_DEBUG, "prop \"%s\" (%d bytes).\n", prop->name, prop->size);</span><br><span>@@ -89,7 +90,7 @@</span><br><span>       printk(BIOS_DEBUG, "\n");</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static int print_flat_node(void *blob, uint32_t start_offset, int depth)</span><br><span style="color: hsl(120, 100%, 40%);">+static int print_flat_node(const void *blob, uint32_t start_offset, int depth)</span><br><span> {</span><br><span>    int offset = start_offset;</span><br><span>   const char *name;</span><br><span>@@ -116,7 +117,7 @@</span><br><span>      return offset - start_offset + sizeof(uint32_t);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void fdt_print_node(void *blob, uint32_t offset)</span><br><span style="color: hsl(120, 100%, 40%);">+void fdt_print_node(const void *blob, uint32_t offset)</span><br><span> {</span><br><span>       print_flat_node(blob, offset, 0);</span><br><span> }</span><br><span>@@ -127,7 +128,7 @@</span><br><span>  * A utility function to skip past nodes in flattened trees.</span><br><span>  */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-int fdt_skip_node(void *blob, uint32_t start_offset)</span><br><span style="color: hsl(120, 100%, 40%);">+int fdt_skip_node(const void *blob, uint32_t start_offset)</span><br><span> {</span><br><span>         int offset = start_offset;</span><br><span>   int size;</span><br><span>@@ -171,7 +172,7 @@</span><br><span>      return buf;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static int fdt_unflatten_node(void *blob, uint32_t start_offset,</span><br><span style="color: hsl(120, 100%, 40%);">+static int fdt_unflatten_node(const void *blob, uint32_t start_offset,</span><br><span>                               struct device_tree_node **new_node)</span><br><span> {</span><br><span>       struct list_node *last;</span><br><span>@@ -216,12 +217,12 @@</span><br><span>      return offset - start_offset + sizeof(uint32_t);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static int fdt_unflatten_map_entry(void *blob, uint32_t offset,</span><br><span style="color: hsl(120, 100%, 40%);">+static int fdt_unflatten_map_entry(const void *blob, uint32_t offset,</span><br><span>                                 struct device_tree_reserve_map_entry **new)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-     uint64_t *ptr = (uint64_t *)(((uint8_t *)blob) + offset);</span><br><span style="color: hsl(0, 100%, 40%);">-       uint64_t start = be64toh(ptr[0]);</span><br><span style="color: hsl(0, 100%, 40%);">-       uint64_t size = be64toh(ptr[1]);</span><br><span style="color: hsl(120, 100%, 40%);">+      const uint64_t *ptr = (const uint64_t *)(((uint8_t *)blob) + offset);</span><br><span style="color: hsl(120, 100%, 40%);">+ const uint64_t start = be64toh(ptr[0]);</span><br><span style="color: hsl(120, 100%, 40%);">+       const uint64_t size = be64toh(ptr[1]);</span><br><span> </span><br><span>   if (!size)</span><br><span>           return 0;</span><br><span>@@ -237,10 +238,10 @@</span><br><span>    return sizeof(uint64_t) * 2;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-struct device_tree *fdt_unflatten(void *blob)</span><br><span style="color: hsl(120, 100%, 40%);">+struct device_tree *fdt_unflatten(const void *blob)</span><br><span> {</span><br><span>         struct device_tree *tree = malloc(sizeof(*tree));</span><br><span style="color: hsl(0, 100%, 40%);">-       struct fdt_header *header = (struct fdt_header *)blob;</span><br><span style="color: hsl(120, 100%, 40%);">+        const struct fdt_header *header = (const struct fdt_header *)blob;</span><br><span>   if (!tree)</span><br><span>           return NULL;</span><br><span>         memset(tree, 0, sizeof(*tree));</span><br><span>@@ -315,7 +316,7 @@</span><br><span>        *struct_size += sizeof(uint32_t);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-uint32_t dt_flat_size(struct device_tree *tree)</span><br><span style="color: hsl(120, 100%, 40%);">+uint32_t dt_flat_size(const struct device_tree *tree)</span><br><span> {</span><br><span>        uint32_t size = tree->header_size;</span><br><span>        struct device_tree_reserve_map_entry *entry;</span><br><span>@@ -377,8 +378,9 @@</span><br><span>   *strings_start = dstrings;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static void dt_flatten_node(struct device_tree_node *node, void **struct_start,</span><br><span style="color: hsl(0, 100%, 40%);">-                          void *strings_base, void **strings_start)</span><br><span style="color: hsl(120, 100%, 40%);">+static void dt_flatten_node(const struct device_tree_node *node,</span><br><span style="color: hsl(120, 100%, 40%);">+                           void **struct_start, void *strings_base,</span><br><span style="color: hsl(120, 100%, 40%);">+                      void **strings_start)</span><br><span> {</span><br><span>       uint8_t *dstruct = (uint8_t *)*struct_start;</span><br><span>         uint8_t *dstrings = (uint8_t *)*strings_start;</span><br><span>@@ -406,7 +408,7 @@</span><br><span>         *strings_start = dstrings;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void dt_flatten(struct device_tree *tree, void *start_dest)</span><br><span style="color: hsl(120, 100%, 40%);">+void dt_flatten(const struct device_tree *tree, void *start_dest)</span><br><span> {</span><br><span>       uint8_t *dest = (uint8_t *)start_dest;</span><br><span> </span><br><span>@@ -449,7 +451,7 @@</span><br><span>  * Functions for printing a non-flattened device tree.</span><br><span>  */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static void print_node(struct device_tree_node *node, int depth)</span><br><span style="color: hsl(120, 100%, 40%);">+static void print_node(const struct device_tree_node *node, int depth)</span><br><span> {</span><br><span>   print_indent(depth);</span><br><span>         printk(BIOS_DEBUG, "name = %s\n", node->name);</span><br><span>@@ -463,7 +465,7 @@</span><br><span>            print_node(child, depth + 1);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void dt_print_node(struct device_tree_node *node)</span><br><span style="color: hsl(120, 100%, 40%);">+void dt_print_node(const struct device_tree_node *node)</span><br><span> {</span><br><span>        print_node(node, 0);</span><br><span> }</span><br><span>@@ -481,7 +483,8 @@</span><br><span>  * @param addrcp     Pointer to store #address-cells in, skipped if NULL.</span><br><span>  * @param sizecp        Pointer to store #size-cells in, skipped if NULL.</span><br><span>  */</span><br><span style="color: hsl(0, 100%, 40%);">-void dt_read_cell_props(struct device_tree_node *node, u32 *addrcp, u32 *sizecp)</span><br><span style="color: hsl(120, 100%, 40%);">+void dt_read_cell_props(const struct device_tree_node *node, u32 *addrcp,</span><br><span style="color: hsl(120, 100%, 40%);">+                   u32 *sizecp)</span><br><span> {</span><br><span>    struct device_tree_property *prop;</span><br><span>   list_for_each(prop, node->properties, list_node) {</span><br><span>@@ -706,7 +709,7 @@</span><br><span>  list_for_each(prop, parent->properties, list_node) {</span><br><span>              if (!strcmp(name, prop->prop.name)) {</span><br><span>                     size_t bytes = prop->prop.size;</span><br><span style="color: hsl(0, 100%, 40%);">-                      void *prop_data = prop->prop.data;</span><br><span style="color: hsl(120, 100%, 40%);">+                 const void *prop_data = prop->prop.data;</span><br><span>                  if (size != bytes)</span><br><span>                           break;</span><br><span>                       if (!memcmp(data, prop_data, size))</span><br><span>@@ -731,16 +734,16 @@</span><br><span>  * @param node Pointer to node containing the phandle</span><br><span>  * @return Zero on error, the phandle on success</span><br><span>  */</span><br><span style="color: hsl(0, 100%, 40%);">-uint32_t dt_get_phandle(struct device_tree_node *node)</span><br><span style="color: hsl(120, 100%, 40%);">+uint32_t dt_get_phandle(const struct device_tree_node *node)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-        uint32_t *phandle;</span><br><span style="color: hsl(120, 100%, 40%);">+    const uint32_t *phandle;</span><br><span>     size_t len;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- dt_find_bin_prop(node, "phandle", (void **)&phandle, &len);</span><br><span style="color: hsl(120, 100%, 40%);">+ dt_find_bin_prop(node, "phandle", (const void **)&phandle, &len);</span><br><span>  if (phandle != NULL && len == sizeof(*phandle))</span><br><span>              return be32_to_cpu(*phandle);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       dt_find_bin_prop(node, "linux,phandle", (void **)&phandle, &len);</span><br><span style="color: hsl(120, 100%, 40%);">+   dt_find_bin_prop(node, "linux,phandle", (const void **)&phandle, &len);</span><br><span>    if (phandle != NULL && len == sizeof(*phandle))</span><br><span>              return be32_to_cpu(*phandle);</span><br><span> </span><br><span>@@ -789,7 +792,7 @@</span><br><span>  * @param size               The size of data in bytes.</span><br><span>  */</span><br><span> void dt_add_bin_prop(struct device_tree_node *node, const char *name,</span><br><span style="color: hsl(0, 100%, 40%);">-                   void *data, size_t size)</span><br><span style="color: hsl(120, 100%, 40%);">+              const void *data, size_t size)</span><br><span> {</span><br><span>     struct device_tree_property *prop;</span><br><span> </span><br><span>@@ -817,9 +820,10 @@</span><br><span>  * @param name         The name of the property.</span><br><span>  * @return         The found string, or NULL.</span><br><span>  */</span><br><span style="color: hsl(0, 100%, 40%);">-const char *dt_find_string_prop(struct device_tree_node *node, const char *name)</span><br><span style="color: hsl(120, 100%, 40%);">+const char *dt_find_string_prop(const struct device_tree_node *node,</span><br><span style="color: hsl(120, 100%, 40%);">+                               const char *name)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-  void *content;</span><br><span style="color: hsl(120, 100%, 40%);">+        const void *content;</span><br><span>         size_t size;</span><br><span> </span><br><span>     dt_find_bin_prop(node, name, &content, &size);</span><br><span>@@ -835,8 +839,8 @@</span><br><span>  * @param data          Pointer to return raw data blob in the property.</span><br><span>  * @param size              Pointer to return the size of data in bytes.</span><br><span>  */</span><br><span style="color: hsl(0, 100%, 40%);">-void dt_find_bin_prop(struct device_tree_node *node, const char *name,</span><br><span style="color: hsl(0, 100%, 40%);">-                     void **data, size_t *size)</span><br><span style="color: hsl(120, 100%, 40%);">+void dt_find_bin_prop(const struct device_tree_node *node, const char *name,</span><br><span style="color: hsl(120, 100%, 40%);">+                      const void **data, size_t *size)</span><br><span> {</span><br><span>  struct device_tree_property *prop;</span><br><span> </span><br><span>@@ -860,7 +864,7 @@</span><br><span>  * @param str           The zero-terminated string to be stored in the property.</span><br><span>  */</span><br><span> void dt_add_string_prop(struct device_tree_node *node, const char *name,</span><br><span style="color: hsl(0, 100%, 40%);">-                     char *str)</span><br><span style="color: hsl(120, 100%, 40%);">+                    const char *str)</span><br><span> {</span><br><span>        dt_add_bin_prop(node, name, str, strlen(str) + 1);</span><br><span> }</span><br><span>diff --git a/src/lib/fit.c b/src/lib/fit.c</span><br><span>index 68f5bed..da55072 100644</span><br><span>--- a/src/lib/fit.c</span><br><span>+++ b/src/lib/fit.c</span><br><span>@@ -158,7 +158,7 @@</span><br><span>       return NULL;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static int fdt_find_compat(void *blob, uint32_t start_offset,</span><br><span style="color: hsl(120, 100%, 40%);">+static int fdt_find_compat(const void *blob, uint32_t start_offset,</span><br><span>                         struct fdt_property *prop)</span><br><span> {</span><br><span>   int offset = start_offset;</span><br><span>@@ -196,7 +196,7 @@</span><br><span>     return -1;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void fit_update_chosen(struct device_tree *tree, char *cmd_line)</span><br><span style="color: hsl(120, 100%, 40%);">+void fit_update_chosen(struct device_tree *tree, const char *cmd_line)</span><br><span> {</span><br><span>     const char *path[] = { "chosen", NULL };</span><br><span>   struct device_tree_node *node;</span><br><span>@@ -388,10 +388,12 @@</span><br><span>  * @param fdt_blob Pointer to FDT</span><br><span>  * @param config The current config node to operate on</span><br><span>  */</span><br><span style="color: hsl(0, 100%, 40%);">-static void fit_update_compat(void *fdt_blob, struct fit_config_node *config)</span><br><span style="color: hsl(120, 100%, 40%);">+static void fit_update_compat(const void *fdt_blob,</span><br><span style="color: hsl(120, 100%, 40%);">+                              struct fit_config_node *config)</span><br><span> {</span><br><span>   struct compat_string_entry *compat_node;</span><br><span style="color: hsl(0, 100%, 40%);">-        struct fdt_header *fdt_header = (struct fdt_header *)fdt_blob;</span><br><span style="color: hsl(120, 100%, 40%);">+        const struct fdt_header *fdt_header =</span><br><span style="color: hsl(120, 100%, 40%);">+         (const struct fdt_header *)fdt_blob;</span><br><span>         uint32_t fdt_offset = be32_to_cpu(fdt_header->structure_offset);</span><br><span>  size_t i = 0;</span><br><span> </span><br><span>diff --git a/src/lib/fit_payload.c b/src/lib/fit_payload.c</span><br><span>index ec947c0..3e1819d 100644</span><br><span>--- a/src/lib/fit_payload.c</span><br><span>+++ b/src/lib/fit_payload.c</span><br><span>@@ -119,7 +119,7 @@</span><br><span>     struct device_tree_node *coreboot_node = dt_find_node(firmware_node,</span><br><span>                 coreboot_path, &addr_cells, &size_cells, 1);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        dt_add_string_prop(coreboot_node, "compatible", strdup("coreboot"));</span><br><span style="color: hsl(120, 100%, 40%);">+      dt_add_string_prop(coreboot_node, "compatible", "coreboot");</span><br><span> </span><br><span>         /* Fetch CB tables from cbmem */</span><br><span>     void *cbtable = cbmem_find(CBMEM_ID_CBTABLE);</span><br><span>diff --git a/src/soc/cavium/cn81xx/soc.c b/src/soc/cavium/cn81xx/soc.c</span><br><span>index 8efcb13..dfb06e0 100644</span><br><span>--- a/src/soc/cavium/cn81xx/soc.c</span><br><span>+++ b/src/soc/cavium/cn81xx/soc.c</span><br><span>@@ -64,9 +64,9 @@</span><br><span> static void dt_platform_fixup_phy(struct device_tree_node *node, char *path,</span><br><span>                             int64_t phy_address, bdk_qlm_modes_t qlm_mode)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-   char *data = NULL;</span><br><span style="color: hsl(120, 100%, 40%);">+    const char *data = NULL;</span><br><span>     size_t size = 0;</span><br><span style="color: hsl(0, 100%, 40%);">-        dt_find_bin_prop(node, "qlm-mode", (void **)&data, &size);</span><br><span style="color: hsl(120, 100%, 40%);">+  dt_find_bin_prop(node, "qlm-mode", (const void **)&data, &size);</span><br><span> </span><br><span>       if (!data || strncmp(data, path, 6) != 0)</span><br><span>            return; /* No key prefix match. */</span><br><span>@@ -127,10 +127,10 @@</span><br><span> static void dt_platform_fixup_mac(struct device_tree_node *node)</span><br><span> {</span><br><span>  const char *name = "local-mac-address";</span><br><span style="color: hsl(0, 100%, 40%);">-       u64 *localmac = NULL;</span><br><span style="color: hsl(120, 100%, 40%);">+ const u64 *localmac = NULL;</span><br><span>  size_t size = 0;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    dt_find_bin_prop(node, name, (void **)&localmac, &size);</span><br><span style="color: hsl(120, 100%, 40%);">+      dt_find_bin_prop(node, name, (const void **)&localmac, &size);</span><br><span> </span><br><span>   if (!localmac)</span><br><span>               return;</span><br><span>@@ -150,8 +150,8 @@</span><br><span>                if (*localmac)</span><br><span>                       return;</span><br><span>              if (used_mac < num_free_mac_addresses) {</span><br><span style="color: hsl(0, 100%, 40%);">-                     *localmac = next_free_mac_address + used_mac;</span><br><span style="color: hsl(0, 100%, 40%);">-                   dt_add_bin_prop(node, name, (void *)&localmac, 6);</span><br><span style="color: hsl(120, 100%, 40%);">+                        const u64 genmac = next_free_mac_address + used_mac;</span><br><span style="color: hsl(120, 100%, 40%);">+                  dt_add_bin_prop(node, name, &genmac, 6);</span><br><span>                         used_mac++;</span><br><span>                  return;</span><br><span>              }</span><br><span>@@ -232,9 +232,10 @@</span><br><span>                            __func__);</span><br><span>                    continue;</span><br><span>            }</span><br><span style="color: hsl(0, 100%, 40%);">-               u32 *data = NULL;</span><br><span style="color: hsl(120, 100%, 40%);">+             const u32 *data = NULL;</span><br><span>              size_t size = 0;</span><br><span style="color: hsl(0, 100%, 40%);">-                dt_find_bin_prop(dt_node, "mmu-masters", (void **)&data, &size);</span><br><span style="color: hsl(120, 100%, 40%);">+            dt_find_bin_prop(dt_node, "mmu-masters", (const void **)&data,</span><br><span style="color: hsl(120, 100%, 40%);">+                           &size);</span><br><span>                 if (!size) {</span><br><span>                         printk(BIOS_ERR, "%s: mmu-masters entry not found\n",</span><br><span>                             __func__);</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/28267">change 28267</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/28267"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: Id27966427fb97457fe883be32685d1397fb0781f </div>
<div style="display:none"> Gerrit-Change-Number: 28267 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: Patrick Rudolph <patrick.rudolph@9elements.com> </div>
<div style="display:none"> Gerrit-Reviewer: Julius Werner <jwerner@chromium.org> </div>
<div style="display:none"> Gerrit-Reviewer: Patrick Rudolph <patrick.rudolph@9elements.com> </div>
<div style="display:none"> Gerrit-Reviewer: Paul Menzel <paulepanter@users.sourceforge.net> </div>
<div style="display:none"> Gerrit-Reviewer: Philipp Deppenwiese <zaolin.daisuki@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org> </div>