long __init_memblock memblock_overlaps_region(struct memblock_type *type, phys_addr_t base, phys_addr_t size) { unsigned long i; for (i = 0; i < type->cnt; i++) { phys_addr_t rgnbase = type->regions[i].base; phys_addr_t rgnsize = type->regions[i].size; if (memblock_addrs_overlap(base, size, rgnbase, rgnsize)) break; } return (i < type->cnt) ? i : -1; }
long memblock_overlaps_region(struct memblock_region *rgn, u64 base, u64 size) { unsigned long i; for (i = 0; i < rgn->cnt; i++) { u64 rgnbase = rgn->region[i].base; u64 rgnsize = rgn->region[i].size; if (memblock_addrs_overlap(base, size, rgnbase, rgnsize)) break; } return (i < rgn->cnt) ? i : -1; }