On Tue, Sep 15, 2020 at 09:35:30AM +0200, David Hildenbrand wrote: > >>> static int __ref try_remove_memory(int nid, u64 start, u64 size) >>> { >>> int rc = 0; >>> @@ -1777,7 +1757,7 @@ static int __ref try_remove_memory(int nid, u64 start, u64 size) >>> memblock_remove(start, size); >>> } >>> >>> - __release_memory_resource(start, size); >>> + release_mem_region_adjustable(&iomem_resource, start, size); >>> >> >> Seems the only user of release_mem_region_adjustable() is here, can we move >> iomem_resource into the function body? Actually, we don't iterate the resource >> tree from any level. We always start from the root. > >You mean, making iomem_resource implicit? I can spot that something >similar was done for > >#define devm_release_mem_region(dev, start, n) \ > __devm_release_region(dev, &iomem_resource, (start), (n)) > What I prefer is remove iomem_resource from the parameter list. Just use is in the function body. For the example you listed, __release_region() would have varies of *parent*, which looks reasonable to keep it here. >I'll send an addon patch for that, ok? - thanks. > >-- >Thanks, > >David / dhildenb -- Wei Yang Help you, Help me