mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	The set_highmem_pages_init() function is declared in asm/numa.h, which must be included in the file that defines it to avoid a W=1 warning: arch/x86/mm/highmem_32.c:7:13: error: no previous prototype for 'set_highmem_pages_init' [-Werror=missing-prototypes] Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com> Link: https://lore.kernel.org/all/20230516193549.544673-9-arnd%40kernel.org
		
			
				
	
	
		
			34 lines
		
	
	
	
		
			861 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
	
		
			861 B
		
	
	
	
		
			C
		
	
	
	
	
	
// SPDX-License-Identifier: GPL-2.0-only
 | 
						|
#include <linux/highmem.h>
 | 
						|
#include <linux/export.h>
 | 
						|
#include <linux/swap.h> /* for totalram_pages */
 | 
						|
#include <linux/memblock.h>
 | 
						|
#include <asm/numa.h>
 | 
						|
 | 
						|
void __init set_highmem_pages_init(void)
 | 
						|
{
 | 
						|
	struct zone *zone;
 | 
						|
	int nid;
 | 
						|
 | 
						|
	/*
 | 
						|
	 * Explicitly reset zone->managed_pages because set_highmem_pages_init()
 | 
						|
	 * is invoked before memblock_free_all()
 | 
						|
	 */
 | 
						|
	reset_all_zones_managed_pages();
 | 
						|
	for_each_zone(zone) {
 | 
						|
		unsigned long zone_start_pfn, zone_end_pfn;
 | 
						|
 | 
						|
		if (!is_highmem(zone))
 | 
						|
			continue;
 | 
						|
 | 
						|
		zone_start_pfn = zone->zone_start_pfn;
 | 
						|
		zone_end_pfn = zone_start_pfn + zone->spanned_pages;
 | 
						|
 | 
						|
		nid = zone_to_nid(zone);
 | 
						|
		printk(KERN_INFO "Initializing %s for node %d (%08lx:%08lx)\n",
 | 
						|
				zone->name, nid, zone_start_pfn, zone_end_pfn);
 | 
						|
 | 
						|
		add_highpages_with_active_regions(nid, zone_start_pfn,
 | 
						|
				 zone_end_pfn);
 | 
						|
	}
 | 
						|
}
 |