<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>