arm64: Fix compilation errors while enabling memory hotplug

Fix compilation errors ecountered while enabling memory
hotplug caused by function prototype changes in
'commit 24e6d5a59a ("mm: pass the vmem_altmap
to arch_add_memory and __add_pages")'
'commit da024512a1 ("mm: pass the vmem_altmap
to arch_remove_memory and __remove_pages")'
'commit 24b6d41643 ("mm: pass the vmem_altmap to vmemmap_free")'.
The errors were caused since the prototype changes in functions
vmemmap_free arch_remove_memory and arch_add_memory were not propagated
to the arm64 version.

Change-Id: I9933ab14d6483f8a6c8ddc7fe9b414149e9df3b7
Signed-off-by: Swathi Sridhar <swatsrid@codeaurora.org>
This commit is contained in:
Swathi Sridhar
2019-01-22 16:15:40 -08:00
committed by Patrick Daly
parent 11ec78dc81
commit 025a7467ee
3 changed files with 8 additions and 7 deletions

View File

@@ -785,7 +785,8 @@ static int __init register_mem_limit_dumper(void)
__initcall(register_mem_limit_dumper);
#ifdef CONFIG_MEMORY_HOTPLUG
int arch_add_memory(int nid, u64 start, u64 size, bool want_memblock)
int arch_add_memory(int nid, u64 start, u64 size, struct vmem_altmap *altmap,
bool want_memblock)
{
pg_data_t *pgdat;
unsigned long start_pfn = start >> PAGE_SHIFT;
@@ -833,7 +834,7 @@ int arch_add_memory(int nid, u64 start, u64 size, bool want_memblock)
pgdat = NODE_DATA(nid);
ret = __add_pages(nid, start_pfn, nr_pages, want_memblock);
ret = __add_pages(nid, start_pfn, nr_pages, altmap, want_memblock);
/*
* Make the pages usable after they have been added.
@@ -874,7 +875,7 @@ static void kernel_physical_mapping_remove(unsigned long start,
}
int arch_remove_memory(u64 start, u64 size)
int arch_remove_memory(u64 start, u64 size, struct vmem_altmap *altmap)
{
unsigned long start_pfn = start >> PAGE_SHIFT;
unsigned long nr_pages = size >> PAGE_SHIFT;
@@ -883,7 +884,7 @@ int arch_remove_memory(u64 start, u64 size)
int ret = 0;
zone = page_zone(page);
ret = __remove_pages(zone, start_pfn, nr_pages);
ret = __remove_pages(zone, start_pfn, nr_pages, altmap);
WARN_ON_ONCE(ret);
kernel_physical_mapping_remove(start, start + size);

View File

@@ -1165,7 +1165,7 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node,
p = vmemmap_alloc_block_buf(PMD_SIZE, node);
if (!p) {
#ifdef CONFIG_MEMORY_HOTPLUG
vmemmap_free(start, end);
vmemmap_free(start, end, altmap);
#endif
ret = -ENOMEM;
break;

View File

@@ -498,12 +498,12 @@ static ssize_t allocated_bytes_show(struct device *dev,
}
#endif
static DEVICE_ATTR_RO(phys_index, 0444, phys_index_show, NULL);
static DEVICE_ATTR(phys_index, 0444, phys_index_show, NULL);
static DEVICE_ATTR(state, 0644, show_mem_state, store_mem_state);
static DEVICE_ATTR(phys_device, 0444, show_phys_device, NULL);
static DEVICE_ATTR(removable, 0444, show_mem_removable, NULL);
#ifdef CONFIG_MEMORY_HOTPLUG
static DEVICE_ATTR_RO(allocated_bytes, 0444, allocated_bytes_show, NULL);
static DEVICE_ATTR(allocated_bytes, 0444, allocated_bytes_show, NULL);
#endif
/*