X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=mm%2Fmemblock.c;h=0ac412a0a7ee0c68a919754e6b6ae0e40624b30c;hb=bdeeab62a611f1f7cd48fd285ce568e8dcd0455a;hp=a847bfe6f3bae3be1ff711c83d22fd9074bd7a23;hpb=ee3e542fec6e69bc9fb668698889a37d93950ddf;p=karo-tx-linux.git diff --git a/mm/memblock.c b/mm/memblock.c index a847bfe6f3ba..0ac412a0a7ee 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -914,6 +914,24 @@ int __init_memblock memblock_is_memory(phys_addr_t addr) return memblock_search(&memblock.memory, addr) != -1; } +#ifdef CONFIG_HAVE_MEMBLOCK_NODE_MAP +int __init_memblock memblock_search_pfn_nid(unsigned long pfn, + unsigned long *start_pfn, unsigned long *end_pfn) +{ + struct memblock_type *type = &memblock.memory; + int mid = memblock_search(type, (phys_addr_t)pfn << PAGE_SHIFT); + + if (mid == -1) + return -1; + + *start_pfn = type->regions[mid].base >> PAGE_SHIFT; + *end_pfn = (type->regions[mid].base + type->regions[mid].size) + >> PAGE_SHIFT; + + return type->regions[mid].nid; +} +#endif + /** * memblock_is_region_memory - check if a region is a subset of memory * @base: base of region to check