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 <swarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
Squashed in build fix from Stephen:
Signed-off-by: Simon Glass <sjg@chromium.org>
master
Stephen Warren 8 years ago committed by Simon Glass
parent 28cd88baa3
commit 11e44fc6bd
  1. 21
      common/fdt_support.c
  2. 5
      include/fdt_support.h

@ -997,8 +997,8 @@ static void of_dump_addr(const char *s, const fdt32_t *addr, int na) { }
struct of_bus { struct of_bus {
const char *name; const char *name;
const char *addresses; const char *addresses;
int (*match)(void *blob, int parentoffset); int (*match)(const void *blob, int parentoffset);
void (*count_cells)(void *blob, int parentoffset, void (*count_cells)(const void *blob, int parentoffset,
int *addrc, int *sizec); int *addrc, int *sizec);
u64 (*map)(fdt32_t *addr, const fdt32_t *range, u64 (*map)(fdt32_t *addr, const fdt32_t *range,
int na, int ns, int pna); int na, int ns, int pna);
@ -1006,7 +1006,7 @@ struct of_bus {
}; };
/* Default translator (generic 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) int *addrc, int *sizec)
{ {
const fdt32_t *prop; 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 #ifdef CONFIG_OF_ISA_BUS
/* ISA bus translator */ /* 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; const char *name;
@ -1066,7 +1066,7 @@ static int of_bus_isa_match(void *blob, int parentoffset)
return !strcmp(name, "isa"); 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) int *addrc, int *sizec)
{ {
if (addrc) 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; struct of_bus *bus;
@ -1148,7 +1148,7 @@ static struct of_bus *of_match_bus(void *blob, int parentoffset)
return NULL; 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, struct of_bus *pbus, fdt32_t *addr,
int na, int ns, int pna, const char *rprop) 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 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 * 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, static u64 __of_translate_address(const void *blob, int node_offset,
const char *rprop) const fdt32_t *in_addr, const char *rprop)
{ {
int parent; int parent;
struct of_bus *bus, *pbus; 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; 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"); return __of_translate_address(blob, node_offset, in_addr, "ranges");
} }

@ -180,7 +180,8 @@ static inline void fdt_fixup_mtdparts(void *fdt, void *node_info,
#endif #endif
void fdt_del_node_and_alias(void *blob, const char *alias); 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, int fdt_node_offset_by_compat_reg(void *blob, const char *compat,
phys_addr_t compat_off); phys_addr_t compat_off);
int fdt_alloc_phandle(void *blob); int fdt_alloc_phandle(void *blob);
@ -239,7 +240,7 @@ static inline u64 of_read_number(const fdt32_t *cell, int size)
return r; 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 *addrc, int *sizec);
int ft_verify_fdt(void *fdt); int ft_verify_fdt(void *fdt);
int arch_fixup_memory_node(void *blob); int arch_fixup_memory_node(void *blob);

Loading…
Cancel
Save