mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	Sparse expect an __iomem pointer, but after converting the EISA probe to
memremap() the pointer is a regular memory pointer. Access it directly
instead.
[ tglx: Converted it to fix the already applied version  ]
Fixes: 80a4da0564 ("x86/EISA: Use memremap() to probe for the EISA BIOS signature")
Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/alpine.DEB.2.21.2408261015270.30766@angie.orcam.me.uk
		
	
			
		
			
				
	
	
		
			25 lines
		
	
	
	
		
			530 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
	
		
			530 B
		
	
	
	
		
			C
		
	
	
	
	
	
// SPDX-License-Identifier: GPL-2.0-only
 | 
						|
/*
 | 
						|
 * EISA specific code
 | 
						|
 */
 | 
						|
#include <linux/cc_platform.h>
 | 
						|
#include <linux/ioport.h>
 | 
						|
#include <linux/eisa.h>
 | 
						|
#include <linux/io.h>
 | 
						|
 | 
						|
#include <xen/xen.h>
 | 
						|
 | 
						|
static __init int eisa_bus_probe(void)
 | 
						|
{
 | 
						|
	u32 *p;
 | 
						|
 | 
						|
	if ((xen_pv_domain() && !xen_initial_domain()) || cc_platform_has(CC_ATTR_GUEST_SEV_SNP))
 | 
						|
		return 0;
 | 
						|
 | 
						|
	p = memremap(0x0FFFD9, 4, MEMREMAP_WB);
 | 
						|
	if (p && *p == 'E' + ('I' << 8) + ('S' << 16) + ('A' << 24))
 | 
						|
		EISA_bus = 1;
 | 
						|
	memunmap(p);
 | 
						|
	return 0;
 | 
						|
}
 | 
						|
subsys_initcall(eisa_bus_probe);
 |