diff options
Diffstat (limited to 'arch/sh/mm/init.c')
| -rw-r--r-- | arch/sh/mm/init.c | 9 | 
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c index 2790b6a64157..75491862d900 100644 --- a/arch/sh/mm/init.c +++ b/arch/sh/mm/init.c @@ -485,10 +485,10 @@ void free_initrd_mem(unsigned long start, unsigned long end)  #endif  #ifdef CONFIG_MEMORY_HOTPLUG -int arch_add_memory(int nid, u64 start, u64 size) +int arch_add_memory(int nid, u64 start, u64 size, bool for_device)  {  	pg_data_t *pgdat; -	unsigned long start_pfn = start >> PAGE_SHIFT; +	unsigned long start_pfn = PFN_DOWN(start);  	unsigned long nr_pages = size >> PAGE_SHIFT;  	int ret; @@ -496,7 +496,8 @@ int arch_add_memory(int nid, u64 start, u64 size)  	/* We only have ZONE_NORMAL, so this is easy.. */  	ret = __add_pages(nid, pgdat->node_zones + -			zone_for_memory(nid, start, size, ZONE_NORMAL), +			zone_for_memory(nid, start, size, ZONE_NORMAL, +			for_device),  			start_pfn, nr_pages);  	if (unlikely(ret))  		printk("%s: Failed, __add_pages() == %d\n", __func__, ret); @@ -517,7 +518,7 @@ EXPORT_SYMBOL_GPL(memory_add_physaddr_to_nid);  #ifdef CONFIG_MEMORY_HOTREMOVE  int arch_remove_memory(u64 start, u64 size)  { -	unsigned long start_pfn = start >> PAGE_SHIFT; +	unsigned long start_pfn = PFN_DOWN(start);  	unsigned long nr_pages = size >> PAGE_SHIFT;  	struct zone *zone;  	int ret;  |