}
 early_param("mem", early_mem);
 
-static int __init early_init_dt_scan_usablemem(unsigned long node,
-               const char *uname, int depth, void *data)
-{
-       struct memblock_region *usablemem = data;
-       const __be32 *reg;
-       int len;
-
-       if (depth != 1 || strcmp(uname, "chosen") != 0)
-               return 0;
-
-       reg = of_get_flat_dt_prop(node, "linux,usable-memory-range", &len);
-       if (!reg || (len < (dt_root_addr_cells + dt_root_size_cells)))
-               return 1;
-
-       usablemem->base = dt_mem_next_cell(dt_root_addr_cells, ®);
-       usablemem->size = dt_mem_next_cell(dt_root_size_cells, ®);
-
-       return 1;
-}
-
-static void __init fdt_enforce_memory_region(void)
-{
-       struct memblock_region reg = {
-               .size = 0,
-       };
-
-       of_scan_flat_dt(early_init_dt_scan_usablemem, ®);
-
-       if (reg.size)
-               memblock_cap_memory_range(reg.base, reg.size);
-}
-
 void __init arm64_memblock_init(void)
 {
        const s64 linear_region_size = PAGE_END - _PAGE_OFFSET(vabits_actual);
 
-       /* Handle linux,usable-memory-range property */
-       fdt_enforce_memory_region();
-
        /* Remove memory above our supported physical address size */
        memblock_remove(1ULL << PHYS_MASK_SHIFT, ULLONG_MAX);