diff options
author | Rob Herring <robh@kernel.org> | 2018-08-30 19:20:20 +0300 |
---|---|---|
committer | Rob Herring (Arm) <robh@kernel.org> | 2024-05-31 16:33:54 +0300 |
commit | 596c29f3c8dea8b6ea74b930a03a693ad47819e3 (patch) | |
tree | 9f2afce9be078fc4ca849ecbac5ac8d995ea9a3a /drivers/of/fdt.c | |
parent | 554b66233623efd7a029135d355aeb2b7c8eb527 (diff) | |
download | linux-596c29f3c8dea8b6ea74b930a03a693ad47819e3.tar.xz |
of/fdt: avoid re-parsing '#{address,size}-cells' in of_fdt_limit_memory
Now that we initialize dt_root_addr_cells and dt_root_size_cells earlier,
use them and simplify of_fdt_limit_memory.
Link: https://lore.kernel.org/all/20180830190523.31474-3-robh@kernel.org/
Signed-off-by: Rob Herring <robh@kernel.org>
Diffstat (limited to 'drivers/of/fdt.c')
-rw-r--r-- | drivers/of/fdt.c | 23 |
1 files changed, 1 insertions, 22 deletions
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index 00bb8c9b62fa..68103ad230ee 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -52,28 +52,7 @@ void __init of_fdt_limit_memory(int limit) int memory; int len; const void *val; - int nr_address_cells = OF_ROOT_NODE_ADDR_CELLS_DEFAULT; - int nr_size_cells = OF_ROOT_NODE_SIZE_CELLS_DEFAULT; - const __be32 *addr_prop; - const __be32 *size_prop; - int root_offset; - int cell_size; - - root_offset = fdt_path_offset(initial_boot_params, "/"); - if (root_offset < 0) - return; - - addr_prop = fdt_getprop(initial_boot_params, root_offset, - "#address-cells", NULL); - if (addr_prop) - nr_address_cells = fdt32_to_cpu(*addr_prop); - - size_prop = fdt_getprop(initial_boot_params, root_offset, - "#size-cells", NULL); - if (size_prop) - nr_size_cells = fdt32_to_cpu(*size_prop); - - cell_size = sizeof(uint32_t)*(nr_address_cells + nr_size_cells); + int cell_size = sizeof(uint32_t)*(dt_root_addr_cells + dt_root_size_cells); memory = fdt_path_offset(initial_boot_params, "/memory"); if (memory > 0) { |