| Andrew Morton | cc2ea41 | 2007-07-15 23:41:38 -0700 | [diff] [blame] | 1 | #include <linux/io.h> | 
| Paul Gortmaker | 8bc3bcc | 2011-11-16 21:29:17 -0500 | [diff] [blame] | 2 | #include <linux/export.h> | 
| Andrew Morton | cc2ea41 | 2007-07-15 23:41:38 -0700 | [diff] [blame] | 3 |  | 
 | 4 | /** | 
 | 5 |  *	check_signature		-	find BIOS signatures | 
 | 6 |  *	@io_addr: mmio address to check | 
 | 7 |  *	@signature:  signature block | 
 | 8 |  *	@length: length of signature | 
 | 9 |  * | 
 | 10 |  *	Perform a signature comparison with the mmio address io_addr. This | 
 | 11 |  *	address should have been obtained by ioremap. | 
 | 12 |  *	Returns 1 on a match. | 
 | 13 |  */ | 
 | 14 |  | 
 | 15 | int check_signature(const volatile void __iomem *io_addr, | 
 | 16 | 			const unsigned char *signature, int length) | 
 | 17 | { | 
 | 18 | 	while (length--) { | 
 | 19 | 		if (readb(io_addr) != *signature) | 
 | 20 | 			return 0; | 
 | 21 | 		io_addr++; | 
 | 22 | 		signature++; | 
 | 23 | 	} | 
 | 24 | 	return 1; | 
 | 25 | } | 
 | 26 | EXPORT_SYMBOL(check_signature); |