From: Stephen Warren Date: Fri, 5 Aug 2016 15:47:50 +0000 (-0600) Subject: fdt_support: fdt_translate_address() blob const correctness X-Git-Tag: KARO-TXSD-2017-03-15~331^2~4 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=11e44fc6bda2248271d26a8488f5efe189b55a30;p=karo-tx-uboot.git fdt_support: fdt_translate_address() blob const correctness The next patch will call fdt_translate_address() from somewhere with a "const void *blob" rather than a "void *blob", so fdt_translate_address() must accept a const pointer too. Constify the minimum number of function parameters to achieve this. Signed-off-by: Stephen Warren Acked-by: Simon Glass Squashed in build fix from Stephen: Signed-off-by: Simon Glass --- diff --git a/common/fdt_support.c b/common/fdt_support.c index 5d8eb12f10..202058621a 100644 --- a/common/fdt_support.c +++ b/common/fdt_support.c @@ -997,8 +997,8 @@ static void of_dump_addr(const char *s, const fdt32_t *addr, int na) { } struct of_bus { const char *name; const char *addresses; - int (*match)(void *blob, int parentoffset); - void (*count_cells)(void *blob, int parentoffset, + int (*match)(const void *blob, int parentoffset); + void (*count_cells)(const void *blob, int parentoffset, int *addrc, int *sizec); u64 (*map)(fdt32_t *addr, const fdt32_t *range, int na, int ns, int pna); @@ -1006,7 +1006,7 @@ struct of_bus { }; /* Default translator (generic bus) */ -void of_bus_default_count_cells(void *blob, int parentoffset, +void of_bus_default_count_cells(const void *blob, int parentoffset, int *addrc, int *sizec) { const fdt32_t *prop; @@ -1055,7 +1055,7 @@ static int of_bus_default_translate(fdt32_t *addr, u64 offset, int na) #ifdef CONFIG_OF_ISA_BUS /* ISA bus translator */ -static int of_bus_isa_match(void *blob, int parentoffset) +static int of_bus_isa_match(const void *blob, int parentoffset) { const char *name; @@ -1066,7 +1066,7 @@ static int of_bus_isa_match(void *blob, int parentoffset) return !strcmp(name, "isa"); } -static void of_bus_isa_count_cells(void *blob, int parentoffset, +static void of_bus_isa_count_cells(const void *blob, int parentoffset, int *addrc, int *sizec) { if (addrc) @@ -1126,7 +1126,7 @@ static struct of_bus of_busses[] = { }, }; -static struct of_bus *of_match_bus(void *blob, int parentoffset) +static struct of_bus *of_match_bus(const void *blob, int parentoffset) { struct of_bus *bus; @@ -1148,7 +1148,7 @@ static struct of_bus *of_match_bus(void *blob, int parentoffset) return NULL; } -static int of_translate_one(void * blob, int parent, struct of_bus *bus, +static int of_translate_one(const void *blob, int parent, struct of_bus *bus, struct of_bus *pbus, fdt32_t *addr, int na, int ns, int pna, const char *rprop) { @@ -1211,8 +1211,8 @@ static int of_translate_one(void * blob, int parent, struct of_bus *bus, * that can be mapped to a cpu physical address). This is not really specified * that way, but this is traditionally the way IBM at least do things */ -static u64 __of_translate_address(void *blob, int node_offset, const fdt32_t *in_addr, - const char *rprop) +static u64 __of_translate_address(const void *blob, int node_offset, + const fdt32_t *in_addr, const char *rprop) { int parent; struct of_bus *bus, *pbus; @@ -1284,7 +1284,8 @@ static u64 __of_translate_address(void *blob, int node_offset, const fdt32_t *in return result; } -u64 fdt_translate_address(void *blob, int node_offset, const fdt32_t *in_addr) +u64 fdt_translate_address(const void *blob, int node_offset, + const fdt32_t *in_addr) { return __of_translate_address(blob, node_offset, in_addr, "ranges"); } diff --git a/include/fdt_support.h b/include/fdt_support.h index 731809874f..e9f3497ab6 100644 --- a/include/fdt_support.h +++ b/include/fdt_support.h @@ -180,7 +180,8 @@ static inline void fdt_fixup_mtdparts(void *fdt, void *node_info, #endif void fdt_del_node_and_alias(void *blob, const char *alias); -u64 fdt_translate_address(void *blob, int node_offset, const __be32 *in_addr); +u64 fdt_translate_address(const void *blob, int node_offset, + const __be32 *in_addr); int fdt_node_offset_by_compat_reg(void *blob, const char *compat, phys_addr_t compat_off); int fdt_alloc_phandle(void *blob); @@ -239,7 +240,7 @@ static inline u64 of_read_number(const fdt32_t *cell, int size) return r; } -void of_bus_default_count_cells(void *blob, int parentoffset, +void of_bus_default_count_cells(const void *blob, int parentoffset, int *addrc, int *sizec); int ft_verify_fdt(void *fdt); int arch_fixup_memory_node(void *blob);